UDP和TDP发送和接受数据
发布时间:2021-02-18编辑:dyy阅读(809)
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、关闭发送端

UDP接收数据的步骤
1、接收数据的步骤
2、创建接收端的Socket对象(DatagramSock),获取发送的端口号
3、创建一个数据包,用于接收数据
4、调用DatagramSocket对象的方法接收数据
5、解析数据包,并把数据在控制台显示
6、关闭接收端
方法名 | 用法 |
DatagramPacket(byte[] buf, int len) | 创建一个DatagramPacket用于接收长度为len的数据包 |
byte[] getData() | 获取数据 |
int getLength() | 获取数据的长度 |

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() | 返回此套接字的输出流 |

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