栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实现UDP互发消息

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实现UDP互发消息

本文实例为大家分享了Java实现UDP互发消息的具体代码,供大家参考,具体内容如下

UDP的发送端

package 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;

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

最后,运行结果如下:

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/132903.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号