简介
UDP是面向无连接的通信,不需要像TCP那样建立连接,所以UDP相对于TCP来说速度更快,但是无连接带来的弊端就是不可靠,会出现掉帧的现象。在通讯的过程中服务端一直监听指定的端口,而客户端只负责向服务端所在的端口传输数据即可。
java中提供了DatagramSocket和DatagramPacket来进行UDP通信。下面通过例子介绍java中UDP的使用。
DatagramPacket
DatagramPacket主要是用于打包需要发送的数据,它有两个构造函数,一个用来发送数据使用,另一个用来接收数据使用。
发送数据构造函数:
public DatagramPacket(byte[] buf,int length,InetAddress address,int port)
把长度为length的数据包buf发送到address主机的port端口
接收数据构造函数:
public DatagramPacket(byte[] buf,int length)
接收长度为length的数据储存到buf中
DatagramSocket
DatagramSocket是用来发送和接收数据包的套接字,负责发送DatagramPacket数据包或者接收DatagramPacket数据包。
DatagramSocket()
构建一个数据报套接字 ,绑定到本地主机的任何可用的端口,一般是发送数据的时候创建DatagramSocket对象使用
DatagramSocket(int port)
构建一个数据报套接字,绑定到本地主机的指定端口,一般是接收数据的时候创建DatagramSocket对象使用
DatagramSocket(int port, InetAddress laddr)
创建一个数据报套接字,绑定到指定的本地地址
示例
服务端程序代码:
package test;
import java.io.IOException;
import java.net.DatagramPacket;
import java

最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



