您的位置:首页 > 理论基础 > 计算机网络

socket实现UDP数据传输

2017-01-01 20:14 489 查看

UDP: User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

特点:每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。

UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。

UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。

socket编程实现UDP数据传输基于DatagramSocket与DatagramPacketAPI实现.

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
* 客户端发送数据
*/
public class UdpClient {

public static void main(String[] args) throws IOException {
// 1.定义服务器的地址、端口号、数据
byte[] data = "udpclient发送数据".getBytes();
InetAddress address = InetAddress.getByName("localhost");
int port = 8086;
// 2.创建数据报,包含发送的数据信息
DatagramPacket packet = new DatagramPacket(data, data.length, address,port);
// 3.创建DatagramSocket对象
DatagramSocket socket = new DatagramSocket();
// 4.向服务器端发送数据报
socket.send(packet);
socket.close();

}

}

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
/**
*服务器接收数据
*/
public class UdpServer {

public static void main(String[] args) throws IOException {

DatagramSocket socket = new DatagramSocket(8086);
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data, data.length);
socket.receive(packet);
String info = new String(data, 0, packet.getLength());
System.out.println("udpservice接收数据是" + info);
socket.close();

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息