Java实现UDP互发消息
程序员文章站
2022-09-22 20:17:14
本文实例为大家分享了java实现udp互发消息的具体代码,供大家参考,具体内容如下udp的发送端package udp;/**udp发送端*/import java.io.ioexception;im...
本文实例为大家分享了java实现udp互发消息的具体代码,供大家参考,具体内容如下
udp的发送端
package udp; /** udp发送端 */ import java.io.ioexception; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetsocketaddress; public class udpclient { public static void main(string[] args) throws ioexception { system.out.println("发送方启动中......"); //使用datagramsocket指定端口,创建发送端 datagramsocket client = new datagramsocket(8888); //准备数据,转换为字节数组 string data ="帅哥"; byte[] datas = data.getbytes(); //封装成datagrampacket包裹,需要指定目的地 datagrampacket packet = new datagrampacket(datas,0,datas.length,new inetsocketaddress("localhost",9999)); //发送包裹send(datagrampacket p) client.send(packet); //释放资源 client.close(); } }
udp的接收端
package udp; /** udp接收端 */ import java.io.ioexception; import java.net.datagrampacket; import java.net.datagramsocket; public class udpserver { public static void main(string[] args) throws ioexception { system.out.println("接收方启动中......"); //使用datagramsocket指定端口创建接收端,端口值要与客户端的发送包裹一致 datagramsocket server =new datagramsocket(9999); //准备容器封装成datagrampacket包裹 byte[] container = new byte[1024*60]; datagrampacket packet = new datagrampacket(container,0,container.length); //阻塞式 server.receive(packet); byte[] datas = packet.getdata(); int len=packet.getlength(); system.out.println(new string(datas,0,len)); server.close(); } }
注意:在intellij idea中运行时,要先把两个端的平行运行设置打开,不然每次只能打开发送端或者接收端,不能同时打开,具体操作如下:
最后,运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。