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

咖啡主机22元/月起,美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月

咖啡主机怎么样?咖啡主机是一家国人主机销售商,成立于2016年8月,之前云服务器网已经多次分享过他家的云服务器产品了,商家主要销售香港、洛杉矶等地的VPS产品,Cera机房 三网直连去程 回程CUVIP优化 本产品并非原生地区本土IP,线路方面都有CN2直连国内,机器比较稳定。咖啡主机目前推出美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月;香港弹性云服务器,香港HKBN CN...

RAKsmart新年钜惠:E3服务器秒杀$30/月起,新上韩国服务器,香港/日本/美国站群服务器,VPS月付$1.99起,GPU服务器,高防服务器_vps香港

RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...

iON Cloud七月促销适合稳定不折腾的用户,云服务器新购半年付8.5折,洛杉矶/圣何塞CN2 GT线路,可选Windows系统

iON Cloud怎么样?iON Cloud今天发布了7月份优惠,使用优惠码:VC4VF8RHFL,新购指定型号VPS半年付或以上可享八五折!iON的云服务器包括美国洛杉矶、美国圣何塞(包含了优化线路、CN2 GIA线路)、新加坡(CN2 GIA线路、PCCW线路、移动CMI线路)这几个机房或者线路可供选择,有Linux和Windows系统之分,整体来说针对中国的优化是非常明显的,机器稳定可靠,比...

javaudp为你推荐
存储区域网络网络存储技术的SAN(存储区域网络)的优点gas是什么意思gc是什么意思啊?动画分镜头脚本经典动画片分镜头脚本微盟价格做微盟平台的销售怎么样,有前景吗aviconverter介绍一个好用的免费的avi转换器网页背景音乐代码有没有网页背景音乐播放器代码??手机在线客服怎样和oppo客服在线交流flv转avi求FLV转换为AVI的软件biodigitalBIODELUXE产品正规吗?有用吗添加组如何添加删除我的自定义组?
工信部域名备案查询 美国主机网 ev证书 免费网络电视 最好的空间 炎黄盛世 phpmyadmin配置 网站在线扫描 安徽双线服务器 云营销系统 web应用服务器 独立主机 德讯 免费个人主页 登陆qq空间 测试网速命令 godaddy空间 攻击服务器 美国代理服务器 web是什么意思 更多