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

HostKvm($4.25/月)俄罗斯/香港高防VPS

HostKvm又上新了,这次上架了2个线路产品:俄罗斯和香港高防VPS,其中俄罗斯经测试电信CN2线路,而香港高防VPS提供30Gbps攻击防御。HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。俄罗斯VPSCPU:1core内存:2G...

Vultr新用户省钱福利,最新可用优惠码/优惠券更新

如今我们无论线上还是线下选择商品的时候是不是习惯问问是不是有优惠活动,如果有的话会加速购买欲望。同样的,如果我们有准备选择Vultr商家云服务器的时候,也会问问是不是有Vultr优惠码或者优惠券这类。确实,目前Vultr商家有一些时候会有针对新注册用户赠送一定的优惠券活动。那就定期抽点时间在这篇文章中专门整理最新可用Vultr优惠码和商家促销活动。不过需要令我们老用户失望的,至少近五年我们看到Vu...

华圣云 HuaSaint-阿里云国际站一级分销商,只需一个邮箱即可注册国际账号,可代充值

简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...

javaudp为你推荐
mergefield邮件合并中如何插入百分数建行手机网站怎么下载建行手机银行短信营销方案中秋节,国庆节短信营销方案ico监管为何央行叫停代币发行?sdfsdfsdfsdf小米手机投诉热线云输入法QQ云输入法的候选窗口是什么样的?彩信平台目前国内有哪些短信平台服务商,怎么排名?pass是什么锒行卡上的闪付pass是什么意思?flushes翻譯下面的日記driversbackup为什么电脑开机时一直进backup system
域名服务 域名主机基地 godaddy域名优惠码 godaddy 免费个人博客 华为4核 警告本网站美国保护 e蜗 徐正曦 国外代理服务器软件 空间合租 购买国外空间 lick 国外的代理服务器 主机返佣 双11促销 开心online 美国代理服务器 时间服务器 globalsign 更多