java网络编程:12、基于UDP的socket编程(二)代码通信-简单实例

版权声明:本文为博主原创文章,不得随意转载,转载请注明出处!!! https://blog.csdn.net/YuDBL/article/details/86069093

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

文章目录

一、基于UDP服务器端程序的编写

二、基于UDP客户端程序的编写

三、系列文章(java网络编程)


通过上篇文章了解了基于UDP通信的理论、基本步骤以及它跟TCP的区别,大家如需了解可参考 java网络编程:11、基于UDP的socket编程(一)理论、基本步骤 这篇写一个简单的实例来感受一下!

一、基于UDP服务器端程序的编写

	/**
	 * 基于UDP服务器端程序的编写
	 */
	public static void recv() {
		try {
			//创建数据报套接字对象,绑定端口号为6000
			DatagramSocket ds = new DatagramSocket(6000);
			//构建数据包接收数据:
			//创建字节数组
			byte[] buf = new byte[100];
			//创建数据包对象,它的长度不能超过数组的长度,我们把它设为100
			DatagramPacket dp = new DatagramPacket(buf, 100);
			//接收数据
			ds.receive(dp);
			//打印数据
			//getLength方法返回实际接收数;getData方法返回数据,返回格式为字节数组
			System.out.println(new String(buf, 0, dp.getLength()));
			
			//关闭数据报套接字
			ds.close();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

二、基于UDP客户端程序的编写

	/**
	 * 基于UDP客户端程序的编写
	 */
	public static void send() {
		try {
			//创建一个数据报对象。
			DatagramSocket ds = new DatagramSocket();
			//要发送的数据
			String str = "Hello,this is zhangsan";
			//构造一个发送数据包:
			//InetAddress.getByName("localhost"):获得本地ip地址
			//端口号指定为6000
			DatagramPacket dp = new DatagramPacket(
					str.getBytes(), 
					str.length(),
					InetAddress.getByName("localhost"),
					6000);
			//发送数据包
			ds.send(dp);
			
			//关闭数据报套接字
			ds.close();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

三、测试打印

我们先启动recv接收端,然后再启动send发送端,那么我们可以看到接收端收到了信息,如下图:

那么对于这个recv接收端来说,它能不能够给我们send发送端,回一个信息呢?

详见下篇文章: java网络编程:13、基于UDP的socket编程(三)实现相互发送接收消息

四、系列文章(java网络编程)

 java网络编程:1、计算机网络?网络通信的组成?什么是ip、协议、端口号?

 java网络编程:2、IP地址、协议、网络状况、网络异质性问题的解决

 java网络编程:3、ISO/OSI七层参考模型

 java网络编程:4、OSI各层所使用的协议

 java网络编程:5、数据封装

 java网络编程:6、TCP/IP模型、TCP/IP模型与OSI参考模型的对应关系

 java网络编程:7、端口、套接字(socket)的引入

 java网络编程:8、基于TCP的socket编程(一)简单的socket通信_一个客户端

 java网络编程:9、基于TCP的socket编程(二)服务器端循环监听接收多个客户端_多线程服务器程序

java网络编程:10、基于TCP的socket编程(二)缓冲流、flush方法、关闭流

java网络编程:11、基于UDP的socket编程(一)理论、基本步骤

 java网络编程:12、基于UDP的socket编程(二)代码通信-简单实例

 java网络编程:13、基于UDP的socket编程(三)实现相互发送接收消息

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/86069093