中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中基于UDP的聊天程序的實現

發布時間:2020-08-04 09:15:00 來源:億速云 閱讀:154 作者:小豬 欄目:開發技術

這篇文章主要講解了java中基于UDP的聊天程序的實現,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

基于UDP的Socket通信

UDP協議不是一種基于穩定連接的協議,是一種面向數據報包的通信協議,不需要通信雙方建立穩定的連接,也沒有所謂服務端和客戶的概念,數據報包在傳輸的時候不保證一定及時到達,也不能保證數據報包的到達順序,但是UDP協議傳輸效率要遠高于TCP/IP。

以下是一個基于UDP的簡單的消息發送接收程序。

消息發送方

1.創建一個數據報的網絡通道

 DatagramSocket ds = new DatagramSocket();

2.準備需要傳輸的數據

String msg = "天王蓋地虎,小雞燉蘑菇!!!";

3.將需要發送的數據打包成數據報包

DatagramPacket packet = new DatagramPacket(
      msg.getBytes(), 		//需要被發送的數據的字節數組
      msg.getBytes().length, 	//發送的數據長度(字節數組長度)
      InetAddress.getByName("localhost"), //接收方的ip
      1025	//接收方的端口				
    );

4.發送數據報包

 ds.send(packet);

5.關閉通道

ds.close();

消息接收方

1.創建一個數據報的網絡通道,綁定到指定端口

DatagramSocket ds = new DatagramSocket(1025);

2.聲明字節數組,用于存儲接收的數據

byte[] b = new byte[1024];

3.準備數據報包(空包)

DatagramPacket packet = new DatagramPacket(b, b.length);

4.接收數據到數據報包中

ds.receive(packet);

5.將數據解析為字符串并輸出

//接受到的數據(字節數組)實際長度
int len = packet.getLength();
//將字節數組轉換為字符串
String s = new String(b, 0, len);
System.out.println("收到的消息:"+s);

如要進行循環接收,則將第4、第5步進行無限循環。

看完上述內容,是不是對java中基于UDP的聊天程序的實現有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周口市| 定远县| 虞城县| 高雄县| 遂溪县| 宁德市| 徐汇区| 读书| 竹北市| 蒲城县| 徐闻县| 邹平县| 额济纳旗| 秦皇岛市| 罗平县| 资讯| 马鞍山市| 阿克陶县| 龙游县| 古浪县| 集安市| 信丰县| 武定县| 建平县| 江油市| 华坪县| 鄯善县| 台东市| 娱乐| 西贡区| 云林县| 北川| 乐山市| 修武县| 荆州市| 铅山县| 白城市| 新野县| 定兴县| 乌审旗| 缙云县|