UDP实现多人聊天室
发布日期:2021-10-12 20:08:33
浏览次数:5
分类:技术文章
本文共 4194 字,大约阅读时间需要 13 分钟。
概述
1.先运行接收方,避免收不到一开始的数据造成数据丢失
2.端口不能是-1, 数值在1-65535之间的任意一个整数,一般会选大于1024的,小于1024的一般被本地计算机程序占用。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类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。 */public class ChatReceiver { public static void main(String[] args) { DatagramSocket ds = null; System.out.println("聊天室已经启动......"); try { //1.创建一个socket ds = new DatagramSocket(8899); //2.创建一个数据报包 <64K byte[] buf = new byte[1024 * 20]; DatagramPacket dp = new DatagramPacket(buf, buf.length); //3.接收 while (true) { ds.receive(dp); //4.处理数据 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.发送方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 * 发送方 */public class ChatSender { public static void main(String[] args) { DatagramSocket ds=null; try { //1.创建 ds = new DatagramSocket(); //2.发送包 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.运行结果(这里我把接收方的:。。。删除了)所以接收到的IP带/
String data = new String(dp.getData(), 0, dp.getLength());System.out.println(dp.getAddress().getHostAddress()+":"+data);)
中的getHostAddress()删除了,测试一下getAddress()与getHostAddress()区别:
getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。
要想ip前面不带/,写dp.getAddress().getHostAddress()就好
ChatReceiver
聊天室已经启动....../10.0.139.3:到不锋利马太瘦,你拿什么和我斗/10.0.139.248:886/10.0.139.160:呱?/10.0.139.103:你蛋回头 必有理由/10.0.139.103:要么反杀 要么报仇/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:来/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:国/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:我**你个**** *****你*我****/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:这里各个都是人才 说话又好听/10.0.139.3:张口就来?/10.0.139.103:我超喜欢在这里的感觉/10.0.139.218:****/10.0.139.35:宗哥在此/10.0.139.140:*****/10.0.139.218:开局一条鲲进阶全靠吞/10.0.139.103:哈哈哈哈哈 你************/10.0.139.141:我郝海荣最棒/10.0.139.179:老夫聊发少年狂,治肾亏,不含糖,三百年,九芝堂/10.0.139.180:你艾希我奶妈/10.0.139.103:爱/10.0.139.174:�/10.0.139.179:你看我牛*吗/10.0.139.3:圆圆是我的/10.0.139.213:少�/10.0.139.35:你看我还有机会吗/10.0.139.103:兄弟你细嗦/10.0.139.180:我赵日天第一个不服/10.0.139.174:�/10.0.139.5:祖安王者在此/10.0.139.103:《》安/10.0.139.3:无机会/10.0.139.35:黄铭你过来呀/10.0.139.140:重金求子/10.0.139.32:123/10.0.139.103:《先穿裤子后穿鞋 先当孙子后当爷/10.0.139.32:123446/10.0.139.165:yiqungsharena/10.0.139.103:三十年河东三十年河西/10.0.139.168:http:***.com/10.0.139.103:你河东山花遍野你笑我河西便也空空/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:你河东山花早已埋入雪中/10.0.139.134:�������������������������������������������������������������/10.0.139.103:再看我河西 满山轻松
ChatSender
呱?
转载地址:https://blog.csdn.net/qq_39773004/article/details/107929965 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月15日 18时25分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
游戏性能指标参考,游戏质量白皮书下载
2019-04-27
游戏帧同步学习笔记
2019-04-27
Mac苹果电脑分辨率不够用,安装SwitchResX这个软件完美解决
2019-04-27
iOS Info.plist知多少
2019-04-27
XCode9之后命令打包需要使用OptionExport.plist
2019-04-27
关于iOS XCode的entitlements文件
2019-04-27
Airtest自动化测试神器,教你实现Unity自动化测试
2019-04-27
模拟器连接端口汇总和常用ADB命令
2019-04-27
ShaderGraph使用教程与各种特效案例:Unity2020(持续更新)
2019-04-27
Unity爆炸、闪电、火焰、雷雨特效Demo
2019-04-27
使用python登录和访问Confluence
2019-04-27
Unity2020中使用MemoryProfile卡死和报错的问题
2019-04-27
Unity中加载Texture2D不断消耗内存的问题
2019-04-27
手把手教你使用Unity制作一个飞机喷射火焰尾气的粒子效果
2019-04-27
gitee使用教程,创建项目仓库并上传代码
2019-04-27
Unity3D 上传日志
2019-04-27
Unity3D 序列帧
2019-04-27