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

HostYun(月18元),CN2直连香港大带宽VPS 50M带宽起

对于如今的云服务商的竞争着实很激烈,我们可以看到国内国外服务商的各种内卷,使得我们很多个人服务商压力还是比较大的。我们看到这几年的服务商变动还是比较大的,很多新服务商坚持不超过三个月,有的是多个品牌同步进行然后分别的跑路赚一波走人。对于我们用户来说,便宜的服务商固然可以试试,但是如果是不确定的,建议月付或者主力业务尽量的还是注意备份。HostYun 最近几个月还是比较活跃的,在前面也有多次介绍到商...

hostkey俄罗斯、荷兰GPU显卡服务器/免费Windows Server

Hostkey.com成立于2007年的荷兰公司,主要运营服务器出租与托管,其次是VPS、域名、域名证书,各种软件授权等。hostkey当前运作荷兰阿姆斯特丹、俄罗斯莫斯科、美国纽约等数据中心。支持Paypal,信用卡,Webmoney,以及支付宝等付款方式。禁止VPN,代理,Tor,网络诈骗,儿童色情,Spam,网络扫描,俄罗斯色情,俄罗斯电影,俄罗斯MP3,俄罗斯Trackers,以及俄罗斯法...

TmhHost暑假活动:高端线路VPS季付8折优惠,可选洛杉矶CN2 GIA/日本软银/香港三网CN2 GIA/韩国双向CN2等

tmhhost怎么样?tmhhost正在搞暑假大促销活动,全部是高端线路VPS,现在直接季付8折优惠,活动截止时间是8月31日。可选机房及线路有美国洛杉矶cn2 gia+200G高防、洛杉矶三网CN2 GIA、洛杉矶CERA机房CN2 GIA,日本软银(100M带宽)、香港BGP直连200M带宽、香港三网CN2 GIA、韩国双向CN2。点击进入:tmhhost官方网站地址tmhhost优惠码:Tm...

javaudp为你推荐
ipv6电视为什么IPv6电视软件不消耗上网流量呢windowsmediaWindows Media Player什么意思网络视频下载器网络视频下载工具哪个好用?excel大写金额在Excel中如何输入数字直接显示大写金额?怎么用电脑发短信怎么样用电脑给手机发短信?网络安全密钥网络安全密钥一般是什么cursorlocation如何用ENVI把不同图像中的相同地点的某个像素点的值读出来。按时间把这个点的值连起来,。谢谢好人。云办公平台什么叫云办公啊?谁能通俗的给我讲下特斯拉model3降价小鹏P7和特斯拉Model 3,买哪个更加划算?erp系统教程如何使用ERP系统操作?
荷兰服务器 gateone 表单样式 免费网络电视 eq2 国外免费全能空间 最好的免费空间 hinet tna官网 网络空间租赁 昆明蜗牛家 免费网页空间 架设邮件服务器 德讯 lamp是什么意思 金主 广东主机托管 深圳主机托管 服务器托管价格 美国主机侦探 更多