码迷,mamicode.com
首页 > 其他好文 > 详细

62 网络编程(三)——UDP编程

时间:2019-12-16 17:38:16      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:pre   close   address   结果   编程   端口   oid   使用   实例   

UDP编程标准步骤

服务器端

  • 使用DatagramSocket创建服务端:DatagramSocket server = new DatagramSocket(port);//参数为自定义端口号
  • 准备接受容器1:必须是byte数组
  • 使用DatagramPacket创建接受容器2:DatagramPacket packet = new DatagramPacket(容器1,start,length);//容器2的名字写为了packet
  • 接受数据:serve.receive(packet);
  • 处理数据:此时数据已经存储到容器1中,对容器1处理即可
  • 关闭:根据需要关闭服务端  server.close()

客户端

  • 使用DatagramSocket创建客户端:DatagramSocket client = new DatagramSocket(port);//参数为自定义端口号
  • 准备数据:必须是byte数组
  • 使用DatagramPacket创建packet包:DatagramPacket packet = new DatagramPacket(数据数组,start,数组length,new InetSocketAddress("目标主机地址",port));
  • 发送数据:client.send(packet);
  • 关闭 :client.close()

以下为一个实例

先启用服务器端,再启动客户端,然后查看服务器端的console结果

Server端

public static void main(String[] args) throws IOException{
		System.out.println("服务端启动");
		//创建客户端
		DatagramSocket server = new DatagramSocket(9917);
		//创建容器
		byte[] container = new byte[1024*60];
		//创建packet
		DatagramPacket packet = new DatagramPacket(container,0,container.length);
		//接收数据
		server.receive(packet);
		//处理数据
		System.out.println(new String(container,0,container.length));
		//关闭
		server.close();
	}

  

client端

public static void main(String[] args) throws IOException{
		System.out.println("客户端启动");
		//创建客户端
		DatagramSocket client = new DatagramSocket(12454);
		//准备数据
		String str = "最后一遍了";
		byte[] datas = str.getBytes();
		//创建packet
		DatagramPacket packet = new DatagramPacket(datas,0,datas.length,new InetSocketAddress("localhost",9917));
		//发送
		client.send(packet);
		//关闭
		client.close();
	}

  

运行结果:

服务端启动
最后一遍了

  

62 网络编程(三)——UDP编程

标签:pre   close   address   结果   编程   端口   oid   使用   实例   

原文地址:https://www.cnblogs.com/Scorpicat/p/12050140.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!