DatagramSocket

DatagramSocket()

创建一个以当前计算机的任意可用端口为发送端口的数据报连接

DatagramSocket(int port)

创建一个以当前计算机的port端口为发送端口的数据报连接

DatagramScoket(int port, InetAddress address)

创建一个以当前计算机的port端口为发送端口,IP地址为address的计算机发送数据报连接

常用的几个方法:

void close() throws IOException

关闭数据报连接

void recieve(DatagramPacket packet)

接收来自于packet数据报的信息

void send(DatagramPacket packet)

发送packet数据报

void connect(InetAddress address, int port)

以当前计算机指定端口port为发送端口,向IP地址为address的计算机发送数据报连接

void disconnect()

断开连接

DatagramChannel getChannel()

SocketChannel类似

结合以上两个类的方法,创建一个简单的UDP服务器端如下:

  ....
	  // 指定连接端口
	  DatagramSocket socket = new DatagramSocket(8001)
	  byte[] buff = new byte[256];
	  // 指定接受数据报缓冲区大小为字节数组buff大小
	  DatagramPacket fromPacket = new DatagramPacket(buff,buf.length);
	  // 接受客户端请求,并将请求数据存储在数据报packet中
	  packet.recieve(fromPacket);
	  // 读取数据报中数据
	  byte rec = packet.getData();
	  .....
	
	  buff = "hello world".toBytes();
	  InetAddress addr = .....
	  // 指定发送数据报缓冲区大小为字节数组buff大小,
	//发送目的地为addr,端口为8001,数据报内容为数组buff内容
		DatagramPacket toPacket = new DatagramPacket(buff,buf.length,addr,8001);
	  // 发送服务器端数据报toPacket
	  packet.send(toPacket);
	  .......

客户端代码与服务器段类似,只要注意接受与发送应该分别是两个不同的数据报。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值