亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

永靖县| 武汉市| 呼和浩特市| 阜阳市| 荔波县| 明星| 华阴市| 会理县| 甘肃省| 安庆市| 井冈山市| 全南县| 苏州市| 玉屏| 兴山县| 北川| 垦利县| 开远市| 锡林郭勒盟| 沧源| 新野县| 石屏县| 玉溪市| 怀柔区| 永州市| 梁平县| 璧山县| 綦江县| 平阴县| 临江市| 满城县| 黔东| 北碚区| 理塘县| 南宁市| 双牌县| 海宁市| 科技| 崇义县| 侯马市| 华蓥市|