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();

tmhhost:暑假快乐,全高端线路,VPS直接8折,200G高防,美国gia日本软银韩国cn2香港cn2大带宽

tmhhost为2021年暑假开启了全场大促销,全部都是高端线路的VPS,速度快有保障。美国洛杉矶CN2 GIA+200G高防、洛杉矶三网CN2 GIA、洛杉矶CERA机房CN2 GIA,日本软银(100M带宽)、香港BGP直连200M带宽、香港三网CN2 GIA、韩国双向CN2。本次活动结束于8月31日。官方网站:https://www.tmhhost.com8折优惠码:TMH-SUMMER日本...

阿里云秋季促销活动 轻量云服务器2G5M配置新购年60元

已经有一段时间没有分享阿里云服务商的促销活动,主要原因在于他们以前的促销都仅限新用户,而且我们大部分人都已经有过账户基本上促销活动和我们无缘。即便老用户可选新产品购买,也是比较配置较高的,所以就懒得分享。这不看到有阿里云金秋活动,有不错的促销活动可以允许产品新购。即便我们是老用户,但是比如你没有购买过他们轻量服务器,也是可以享受优惠活动的。这次轻量服务器在金秋活动中力度折扣比较大,2G5M配置年付...

阿里云年中活动最后一周 - ECS共享型N4 2G1M年付59元

以前我们在参与到云服务商促销活动的时候周期基本是一周时间,而如今我们会看到无论是云服务商还是电商活动基本上周期都要有超过一个月,所以我们有一些网友习惯在活动结束之前看看商家是不是有最后的促销活动吸引力的,比如有看到阿里云年中活动最后一周,如果我们有需要云服务器的可以看看。在前面的文章中(阿里云新人福利选择共享性N4云服务器年79.86元且送2月数据库),(LAOZUO.ORG)有提到阿里云今年的云...

javaudp为你推荐
财务系统软件财务管理软件是什么软件比思论坛永久域名不知道为什么 比思论坛的网站打不开 怎么办呐java程序员招聘Java程序员,一般招聘都要求些啥腾讯合作伙伴大会从微信同程旅行买的机票怎么打印电子发票?动画分镜头脚本请问什么是动画分镜头脚本,什么是电影分镜头脚本以及什么是广告分镜头脚本?erp系统教程在一个公司里怎样去学ERP怎么查微信注册时间怎么查看自己的微信号用了多久acceptchangesaltium designer 6.0如何给元件重新编号微盟价格微盟现在怎么样?cpu仪表盘windows7系统怎么样吧CPU的温度显示调处来
成都虚拟主机 com域名 网址域名注册 山东vps 互联网域名管理办法 独享100m web服务器架设软件 嘟牛 网站卫士 cn3 吉林铁通 香港亚马逊 群英网络 双11促销 葫芦机 register.com e-mail wannacry勒索病毒 nano ddos攻击工具 更多