博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JavaSE】day16_UDP
阅读量:4305 次
发布时间:2019-05-27

本文共 2230 字,大约阅读时间需要 7 分钟。

【JavaSE】day16_UDP

1.客户端:

package day07chat.udp;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/** * 基于UDP通讯的客户端 */public class Client {	public static void main(String[] args) {		try{			/*			 * 1:创建Socket			 * 2:准备数据			 * 3:准备地址(目标地址)			 * 4:将数据与地址设置到包中			 * 5:通过Socket发送包			 */			//1 java.net.DatagramSocket			DatagramSocket socket = new DatagramSocket();						//2 			String message = "你好,服务器!";			//将字符串按照UTF-8编码转换成为字节			byte[] data = message.getBytes("UTF-8");						//3			InetAddress address = InetAddress.getByName("localhost");			/*			 * TCP与UDP之间的端口是没有冲突的。			 * 意思就是,若一个程序开启了TCP的8088端口,那么当前程序			 * 打开UDP的8088端口时没有问题的,前提时没有程序占用UDP			 * 的8088端口.			 */			int port = 8088;						//4 java.net.DatagramPacket			//data:发送的数据对应的数组			//data.length:数组中有多少字节被发送			//address:远端计算机地址			//port:远端计算机端口号			DatagramPacket packet=new DatagramPacket(data,data.length,address,port);						//5			socket.send(packet);									//接收服务端的回复						//2			data = new byte[100];			packet = new DatagramPacket(data,data.length);						//3			socket.receive(packet);						//4			message = new String(data,0,packet.getLength(),"UTF-8");						System.out.println("服务端:"+message);								}catch(Exception e){					}	}}

2.服务端:

package day07chat.udp;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/** * 基于UDP通讯的服务端 */public class Server {	public static void main(String[] args) {		try{			/*			 * 1:创建Socket			 * 2:准备一个【接收包】			 * 3:通过Socket接收数据并存入接收包中			 *    这个过程做好后,包就有变化了:			 *    1)包中就有数据了			 *    2)包就记录了数据从哪里来的			 * 4:从包中取出数据使用.			 */			//1			DatagramSocket socket = new DatagramSocket(8088);						//2			byte[] data = new byte[100];			DatagramPacket packet = new DatagramPacket(data,data.length);						//3			socket.receive(packet);						//4			String message = new String(data,0,packet.getLength(),"UTF-8");						System.out.println("客户端说:"+message);									//回复客户端			//2 			message = "你好,客户端!";			//将字符串按照UTF-8编码转换成为字节			data = message.getBytes("UTF-8");						//3			InetAddress address = packet.getAddress();			int port = packet.getPort();						//4 			packet=new DatagramPacket(data,data.length,address,port);						//5			socket.send(packet);								}catch(Exception e){					}	}}

转载地址:http://fgews.baihongyu.com/

你可能感兴趣的文章
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
5、JavaWeb学习之基础篇—标签(自定义&JSTL)
查看>>
8、JavaWEB学习之基础篇—文件上传&下载
查看>>
reRender属性的使用
查看>>
href="javascript:void(0)"
查看>>
h:panelGrid、h:panelGroup标签学习
查看>>
f:facet标签 的用法
查看>>
<h:panelgroup>相当于span元素
查看>>
java中append()的方法
查看>>
必学高级SQL语句
查看>>
经典SQL语句大全
查看>>
log日志记录是什么
查看>>
<rich:modelPanel>标签的使用
查看>>
<h:commandLink>和<h:inputLink>的区别
查看>>
<a4j:keeyAlive>的英文介绍
查看>>
关于list对象的转化问题
查看>>
VOPO对象介绍
查看>>
suse创建的虚拟机,修改ip地址
查看>>
linux的挂载的问题,重启后就挂载就没有了
查看>>