Java实现UDP互发消息

2022-07-31,,

本文实例为大家分享了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中运行时,要先把两个端的平行运行设置打开,不然每次只能打开发送端或者接收端,不能同时打开,具体操作如下:

最后,运行结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

《Java实现UDP互发消息.doc》

下载本文的Word格式文档,以方便收藏与打印。