javaudp用java的Udp写聊天程序,为什么不能实现一个端口号同时向两个端口号发送消息?不知如何实现,请高手解答?

javaudp  时间:2021-06-18  阅读:()

java 中怎么使用UDP?

发送步骤: 使用 DatagramSocket(int port) 建立socket(套间字)服务。

将数据打包到DatagramPacket中去 通过socket服务发送 (send()方法) 关闭资源 import?java.io.IOException;?? import?.*;?? public?class?Send?{?? ????public?static?void?main(String[]?args)??{?? ????????DatagramSocket?ds?=?null;??//建立套间字udpsocket服务?? ????????try?{?? ??????????ds?=?new?DatagramSocket(8999);??//实例化套间字,指定自己的port?? ????????}?catch?(SocketException?e)?{?? ????????????System.out.println("Cannot?open?port!");?? ????????????System.exit(1);??? ????????}?? ????????byte[]?buf=?"Hello,?I?am?sender!".getBytes();??//数据?? ????????Address?destination?=?null?;?? ????????try?{?? ????????????destination?=?Address.getByName("192.168.1.5");??//需要发送的地址?? ????????}?catch?(UnknownHostException?e)?{?? ????????????System.out.println("Cannot?open?findhost!");?? ????????????System.exit(1);??? ????????}?? ????????DatagramPacket?dp?=??? ????????????????new?DatagramPacket(buf,?buf.length,?destination?,?10000);???? ????????//打包到DatagramPacket类型中(DatagramSocket的send()方法接受此类,注意10000是接受地址的端口,不同于自己的端口!)?? ????????try?{?? ????????????ds.send(dp);??//发送数据?? ????????}?catch?(IOException?e)?{?? ????????}?? ????????ds.close();?? ????}?? }接收步骤: 使用 DatagramSocket(int port) 建立socket(套间字)服务。

(我们注意到此服务即可以接收,又可以发送),port指定监视接受端口。

定义一个数据包(DatagramPacket),储存接收到的数据,使用其中的方法提取传送的内容 通过DatagramSocket 的receive方法将接受到的数据存入上面定义的包中 使用DatagramPacket的方法,提取数据。

关闭资源。

import?.*;?? public?class?Rec?{?? ????public?static?void?main(String[]?args)?throws?Exception?{?? ????????DatagramSocket?ds?=?new?DatagramSocket(10000);??//定义服务,监视端口上面的发送端口,注意不是send本身端口?? ????????byte[]?buf?=?new?byte[1024];//接受内容的大小,注意不要溢出?? ????????DatagramPacket?dp?=?new?DatagramPacket(buf,0,buf.length);//定义一个接收的包?? ????????ds.receive(dp);//将接受内容封装到包中?? ????????String?data?=?new?String(dp.getData(),?0,?dp.getLength());//利用getData()方法取出内容?? ????????System.out.println(data);//打印内容?? ????????ds.close();//关闭资源????? ????}?? }

用java实现UDP校验和计算

public static void main(String[] arg) { String str = "hello"; System.out.println(toByte(str)); // 得到结果:byte[] sbytes = { 0X68, 0X65, 0X6c, 0X6c, 0X6f }; } private static String toByte(String str) { byte[] bytes = str.getBytes(); StringBuffer sb = new StringBuffer(); sb.append("byte[] sbytes = { "); for (int i = 0; i < bytes.length; i++) { sb.append(String.format("0X%s", Integer.toHexString(bytes[i]))); if (i < bytes.length - 1) { sb.append(", "); } } sb.append(" };").append(" "); return sb.toString(); }

java如何做UDP端口扫描?要用什么函数?

我不知道有没有这样的方法。

然后自己写个循环 在用DatagramSocket(int port);这个构造方法的时候,假如抛异常了,就说明端口被占用了。

如何用java实现UDP的可靠传输

我记忆中可靠的传输应该类似TCP的三次握手: 1.发送方向接收方发送一个随机数。

2.接收方收到随机数后将其+1,再回传给发送方。

3.发送方收到随机数判断其是否被+1,如果是代表双方的传递线路是通畅的,可以正式开始传送数据。

用java的Udp写聊天程序,为什么不能实现一个端口号同时向两个端口号发送消息?不知如何实现,请高手解答?

使用DatagramSocket和DatagramPacket 其中DatagramSocket使用一个发送的端口号 DatagramPacket的参数 DatagramPacket(bytes[] bytes,int bytes[].length,Address ip, int port);里的port就是目标端口 要向两个端口号发送,需要创建两个DatagramPacket,分别填写两个IP地址和端口号,并用DatagramSocket发送。

另外两个端口需要做监听 要注意ip要为局域网可以畅通无阻,广域网可能导致网管阻止 下面是个例子,发两遍即可。

int SERVER_PORT=7000; String severIp="192.168.1.100"; DatagramSocket clientSocket; try { Address local = Address.getByName(severIp); DatagramPacket dPacket; clientSocket = new DatagramSocket; dPacket = new DatagramPacket("Hello".getBytes("utf-8"),"Hello".getBytes("utf-8").length, local, SERVER_PORT); clientSocket.send(dPacket);//这里是发送 byte[] msg = new byte[11246]; DatagramPacket rPacket = new DatagramPacket(msg, msg.length); clientSocket.receive(rPacket);//这里是接收监听 } catch (IOException e) { e.printStackTrace(); } clientSocket.close();

酷番云78元台湾精品CN2 2核 1G 60G SSD硬盘

酷番云怎么样?酷番云就不讲太多了,介绍过很多次,老牌商家完事,最近有不少小伙伴,一直问我台湾VPS,比较难找好的商家,台湾VPS本来就比较少,也介绍了不少商家,线路都不是很好,有些需求支持Windows是比较少的,这里我们就给大家测评下 酷番云的台湾VPS,支持多个版本Linux和Windows操作系统,提供了CN2线路,并且还是原生IP,更惊喜的是提供的是无限流量。有需求的可以试试。可以看到回程...

简单测评v5.net的美国cn2云服务器:电信双程cn2+联通AS9929+移动直连

v5.net一直做独立服务器这块儿的,自从推出云服务器(VPS)以来站长一直还没有关注过,在网友的提醒下弄了个6G内存、2核、100G SSD的美国云服务器来写测评,主机测评给大家趟雷,让你知道v5.net的美国云服务器效果怎么样。本次测评数据仅供参考,有兴趣的还是亲自测试吧! 官方网站:https://v5.net/cloud.html 从显示来看CPU是e5-2660(2.2GHz主频),...

HostKvm:香港国际/韩国KVM夏季7折,2G内存套餐月付5.95美元起

HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。目前商家发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付5.95美元起。下面分别列出几款主机套餐配置信息。套餐:韩国KR...

javaudp为你推荐
oledbdatareaderDataReader和IDataReader的区别?无处不在的意思成语无处不在无所不能。下面的意思可以用什么成语来形容手机软件开发工具手机app一般用什么 软件开发shoujiao手机电池突然充不上电,是怎么回事?该怎么办?databasenamefoxpro中的的命令格式网站客服代码如何将在线客服代码插入到您的网页中?gbk内码Gbk内码查询多看论坛kindle哪个型号最好用泛微协同办公系统泛微软件怎么样?做协同办公的,我要来这做销售前景怎么样?请大家对这个行业或公司了解的给些建议。particular教程怎样做ae粒子云效果
西安服务器租用 过期域名查询 hostigation 联通c套餐 新加坡服务器 wordpress技巧 中国电信测速112 网站木马检测工具 东莞数据中心 免费cdn 空间购买 独享主机 免费的asp空间 中国联通宽带测速 卡巴斯基试用版下载 云销售系统 北京主机托管 中国电信宽带测速 免费赚q币 香港博客 更多