java:UDP通信
生活随笔
收集整理的這篇文章主要介紹了
java:UDP通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
udp:以數據位中心,非面向連接,不安全,數據可能丟失,但效率比較高。
?
1. 客戶端
? 1) 創建客戶端 ?DatagramSocket類 + 指定端口
? 2) 準備數據, 字節數據
? 3) 打包DatagramPackage + 服務器地址以及端口號
? 4) 發送
? 5) 釋放資源
?
2. 服務器端
? 1). 創建服務器端 DatagramSocket類 + 指定端口
? 2).準備接受容器,字節數組,封裝DatagramPackage
? 3).包 ?接收數據
? 4)分析
? 5).釋放資源
?
package com.test;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket;public class UdpServer {public static void main(String[] args) throws IOException{// 創建服務器端+端口DatagramSocket server = new DatagramSocket(8888);// 準備接受容器byte[] container = new byte[1024];// 封裝成包DatagramPacket dp = new DatagramPacket(container, container.length);// 接受數據server.receive(dp);// 分析數據byte[] data = dp.getData();int len = dp.getLength();System.out.println(new String(data, 0, len));// 釋放資源server.close();} } package com.test;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress;public class UdpClient {public static void main(String[] args) throws IOException{// 創建客戶端+端口DatagramSocket client = new DatagramSocket(6666);// 準備數據String msg = "UDP編程...";byte[] udpByte = msg.getBytes();// 打包(發送的地點及端口)DatagramPacket packet = new DatagramPacket(udpByte, udpByte.length, new InetSocketAddress("localhost",8888));// 發送client.send(packet);// 關閉client.close();} }?
總結
以上是生活随笔為你收集整理的java:UDP通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日记:2019-07-28
- 下一篇: java:socket通信