UDP和TDP发送和接受数据

发布时间:2021-02-18编辑:dyy阅读(961)

Java中的udp通信

UDP发送数据

UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发 送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念 Java提供了DatagramSocket类作为基于UDP协议的Socket

方法名
用法
DatagramSocket()

创建一个发送对象

DatagramPacket(byte[] buf,int len,InetAddress add,int port)
代表传输的数据内容,长度,ip地址,传输的端口号
void send(DatagramPacket p)发送数据报包
void close()关闭发送端
void receive(DatagramPacket p)接受数据包
UDP发送数据的步骤 

1、创建发送端的Socket对象(DatagramSocket) 

2、创建数据,并把数据打包 

3、调用DatagramSocket对象的方法发送数据 

4、关闭发送端

image.png

UDP接收数据的步骤

1、接收数据的步骤

2、创建接收端的Socket对象(DatagramSock),获取发送的端口号

3、创建一个数据包,用于接收数据

4、调用DatagramSocket对象的方法接收数据

5、解析数据包,并把数据在控制台显示

6、关闭接收端

方法名用法
DatagramPacket(byte[] buf, int len)创建一个DatagramPacket用于接收长度为len的数据包
byte[] getData()获取数据
int getLength()获取数据的长度

image.png

Java中的TCP通信发送数据

Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,

并通过 Socket产生IO流来进行网络通信, Java为客户端提供了Socket类,为服务器端提供了ServerSocket类

方法名用法
Socket(InetAddress address,int port)创建流套接字并将其连接到指定IP指定端口号
Socket(String host, int port)创建流套接字并将其连接到指定主机上的指定端口号
InputStream getInputStream(返回此套接字的输入流
OutputStream getOutputStream()返回此套接字的输出流

image.png


TCP接受数据

方法用法
ServletSocket(int port)创建绑定到指定端口的服务器套接字
Socket accept()监听要连接到此的套接字并接受它

image.png







标签

评论