當(dāng)前位置:
首頁(yè) >
UDP实现多人聊天室
發(fā)布時(shí)間:2023/12/20
23
豆豆
生活随笔
收集整理的這篇文章主要介紹了
UDP实现多人聊天室
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
概述
1.先運(yùn)行接收方,避免收不到一開(kāi)始的數(shù)據(jù)造成數(shù)據(jù)丟失
2.端口不能是-1, 數(shù)值在1-65535之間的任意一個(gè)整數(shù),一般會(huì)選大于1024的,小于1024的一般被本地計(jì)算機(jī)程序占用。
1.接收方Receiver
package d03_chat;import java.net.DatagramPacket; import java.net.DatagramSocket;/*** zt* 2020/8/11* 10:13* 接收方** System.out.println(dp.getAddress().getHostAddress()+":"+data);* getAddress方法和getHostAddress類(lèi)似,它們的唯一區(qū)別是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte數(shù)組形式的IP地址。*/ public class ChatReceiver {public static void main(String[] args) {DatagramSocket ds = null;System.out.println("聊天室已經(jīng)啟動(dòng)......");try {//1.創(chuàng)建一個(gè)socketds = new DatagramSocket(8899);//2.創(chuàng)建一個(gè)數(shù)據(jù)報(bào)包 <64Kbyte[] buf = new byte[1024 * 20];DatagramPacket dp = new DatagramPacket(buf, buf.length);//3.接收while (true) {ds.receive(dp);//4.處理數(shù)據(jù)String data = new String(dp.getData(), 0, dp.getLength());System.out.println(dp.getAddress().getHostAddress()+":"+data);}} catch (Exception e) {e.printStackTrace();} finally {ds.close();}} }2.發(fā)送方Sender
package d03_chat;import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.util.Scanner;/*** zt* 2020/8/11* 10:17* 發(fā)送方*/ public class ChatSender {public static void main(String[] args) {DatagramSocket ds=null;try {//1.創(chuàng)建ds = new DatagramSocket();//2.發(fā)送包Scanner sc = new Scanner(System.in);while (true){String data = sc.next();DatagramPacket dp = new DatagramPacket(data.getBytes(),data.getBytes().length, InetAddress.getByName("10.0.139.255"),8899);ds.send(dp);}} catch (Exception e) {e.printStackTrace();}finally {ds.close();}} }3.運(yùn)行結(jié)果(這里我把接收方的:。。。刪除了)所以接收到的IP帶/
String data = new String(dp.getData(), 0, dp.getLength()); System.out.println(dp.getAddress().getHostAddress()+":"+data);)中的getHostAddress()刪除了,測(cè)試一下getAddress()與getHostAddress()區(qū)別:
getAddress方法和getHostAddress類(lèi)似,它們的唯一區(qū)別是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte數(shù)組形式的IP地址。要想ip前面不帶/,寫(xiě)dp.getAddress().getHostAddress()就好
ChatReceiver
聊天室已經(jīng)啟動(dòng)...... /10.0.139.3:到不鋒利馬太瘦,你拿什么和我斗 /10.0.139.248:886 /10.0.139.160:呱? /10.0.139.103:你蛋回頭 必有理由 /10.0.139.103:要么反殺 要么報(bào)仇 /10.0.139.97:12 /10.0.139.215:∑ /10.0.139.97:89 /10.0.139.3:花花世界迷人眼 /10.0.139.174:� /10.0.139.195:1234 /10.0.139.97:】【 /10.0.139.195:1111 /10.0.139.3:鐵汁 /10.0.139.195:1 /10.0.139.174:� /10.0.139.174:來(lái) /10.0.139.174:gan /10.0.139.174:886 /10.0.139.103:茍 /10.0.139.103:利 /10.0.139.3:bye /10.0.139.103:國(guó) /10.0.139.103:家 /10.0.139.103:生 /10.0.139.35:人生苦短 /10.0.139.103:死 /10.0.139.165:niahao /10.0.139.103:矣 /10.0.139.179:你***,我****,真是***狗了 /10.0.139.103:人生苦短 必須性感 /10.0.139.44:lll /10.0.139.5:1213231 /10.0.139.5:shaoshao /10.0.139.134:45132465131321515 /10.0.139.134:5 /10.0.139.134:5 /10.0.139.134:45 /10.0.139.134:15 /10.0.139.134:5 /10.0.139.134:5 /10.0.139.134:515 /10.0.139.134:4 /10.0.139.134:515 /10.0.139.134:65 /10.0.139.134:151 /10.0.139.213:wofule /10.0.139.103:我**你個(gè)**** *****你*我**** /10.0.139.103:出口成章 /10.0.139.141:haloua /10.0.139.103: /10.0.139.180:123 /10.0.139.35:我鑄璽不服 /10.0.139.180:321 /10.0.139.103:這里各個(gè)都是人才 說(shuō)話又好聽(tīng) /10.0.139.3:張口就來(lái)? /10.0.139.103:我超喜歡在這里的感覺(jué) /10.0.139.218:**** /10.0.139.35:宗哥在此 /10.0.139.140:***** /10.0.139.218:開(kāi)局一條鯤進(jìn)階全靠吞 /10.0.139.103:哈哈哈哈哈 你************ /10.0.139.141:我郝海榮最棒 /10.0.139.179:老夫聊發(fā)少年狂,治腎虧,不含糖,三百年,九芝堂 /10.0.139.180:你艾希我奶媽 /10.0.139.103:愛(ài) /10.0.139.174:� /10.0.139.179:你看我牛*嗎 /10.0.139.3:圓圓是我的 /10.0.139.213:少� /10.0.139.35:你看我還有機(jī)會(huì)嗎 /10.0.139.103:兄弟你細(xì)嗦 /10.0.139.180:我趙日天第一個(gè)不服 /10.0.139.174:� /10.0.139.5:祖安王者在此 /10.0.139.103:《》安 /10.0.139.3:無(wú)機(jī)會(huì) /10.0.139.35:黃銘你過(guò)來(lái)呀 /10.0.139.140:重金求子 /10.0.139.32:123 /10.0.139.103:《先穿褲子后穿鞋 先當(dāng)孫子后當(dāng)爺 /10.0.139.32:123446 /10.0.139.165:yiqungsharena /10.0.139.103:三十年河?xùn)|三十年河西 /10.0.139.168:http:***.com /10.0.139.103:你河?xùn)|山花遍野你笑我河西便也空空 /10.0.139.165:瘋了 /10.0.139.213:� /10.0.139.103:帶到春去入冬 /10.0.139.140:重金求子 /10.0.139.140:加V:1186040304 /10.0.139.103:你河?xùn)|山花早已埋入雪中 /10.0.139.134:������������������������������������������������������������� /10.0.139.103:再看我河西 滿山輕松ChatSender
呱?總結(jié)
以上是生活随笔為你收集整理的UDP实现多人聊天室的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 应届生年薪 40w 在杭州可以过上什么样
- 下一篇: iptables failed: ipt