您的位置:首页 > 编程语言 > Java开发

JAVA中Socket编程(二)---通过UDP协议实现通信

2015-12-04 23:03 786 查看
1.UDP通信服务器端的实现:

public class UDPServer {
public static void main(String[] args) throws IOException{
/*
* 接收客户端请求
*/
//1.创建DatagramSocket,并绑定相应的端口
DatagramSocket socket = new DatagramSocket(8808);
//2.创建DatagramPacket对象
byte[] bytes = new byte[1024];
DatagramPacket packet = new DatagramPacket(bytes,bytes.length);
//3.接收客户端的请求
System.out.println("***服务器已启动,等待客户端连接***");
socket.receive(packet);
//4.输出客户端请求
String s = new String(bytes, 0, packet.getLength());
System.out.println("收到客户端请求:"+s);

/*
* 响应客户端请求
*/
//1.创建客户端地址、端口、数据
InetAddress address = packet.getAddress();
int port = packet.getPort();
byte[] bytes2 = "登录成功,欢迎你!!!".getBytes();
//2.创建数据报
DatagramPacket packet2 = new DatagramPacket(bytes2, bytes2.length, address, port);
//3.响应客户端
socket.send(packet2);
//关闭socket
socket.close();

}
}


2.UDP通信客户端的实现:

public class UDPClient {
public static void main(String[] args) throws IOException{
/*
* 客户端发送请求
*/
//1.创建地址,端口,数据
InetAddress address = InetAddress.getByName("localhost");
int port=8808;
byte[] data = "usr: lqq; password: 123".getBytes();
//2.创建DatagramPacket对象
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
//3.创建DatagramSocket对象
DatagramSocket socket = new DatagramSocket();
//4.发送请求
socket.send(packet);

/*
* 客户端接收响应
*/
//1.创建数据报
byte[] data2 = new byte[1024];
DatagramPacket packet2  = new DatagramPacket(data2, data2.length);
//2.接收响应
socket.receive(packet2);
//3.输出接收到的数据
String s = new String(data2, 0, packet.getLength());
System.out.println("收到服务器响应:"+s);
//4.关闭Socket
socket.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java socket udp