当前位置: 移动技术网 > IT编程>开发语言>Java > Java实现UDP互发消息

Java实现UDP互发消息

2020年07月29日  | 移动技术网IT编程  | 我要评论
本文实例为大家分享了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中运行时,要先把两个端的平行运行设置打开,不然每次只能打开发送端或者接收端,不能同时打开,具体操作如下:

最后,运行结果如下:

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网