基于UDP协议的Socket通信:服务器端代码实现
基于UDP协议的Socket通信:服务器端代码实现
本示例演示了使用UDP协议实现Socket通信的服务器端代码。用户需要根据提示,在右侧编辑器补充代码,实现接收客户端发送的数据,并打印输出接收到的信息。
服务器端开放
- IP地址:'127.0.0.1' 或者 'localhost'
- 端口号:'12345'
用于接收从客户端发送过来的数据
- 用户名:'admin'
- 密码:'123'
测试说明
客户端代码:
public class UDPClient {
public static void main(String[] args) throws IOException {
/*
* 向服务器端发送数据
*/
// 1.定义服务器的地址、端口号、数据
InetAddress address = InetAddress.getByName("localhost");
int port = 12345;
byte[] data = "用户名:admin;密码:123".getBytes();
// 2.创建数据报,包含发送的数据信息
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
// 3.创建DatagramSocket对象
DatagramSocket socket = new DatagramSocket();
// 4.向服务器端发送数据报
socket.send(packet);
// 5.关闭资源
socket.close();
}
}
平台会对你编写的代码进行测试:
测试输入:
无
预期输出:
****服务器端已经启动,等待客户端发送数据
我是服务器,客户端说:用户名:admin;密码:123
代码补充
package step3;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPServer {
public static void main(String[] args) throws IOException {
/*
* 接收客户端发送的数据
*/
// 1.创建服务器端DatagramSocket,指定端口
DatagramSocket socket = new DatagramSocket(12345);
System.out.println("****服务器端已经启动,等待客户端发送数据");
// 2.创建数据报,用于接收客户端发送的数据
// 创建字节数组,指定接收的数据包的大小1024
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data, data.length);
// 3.接收客户端发送的数据
socket.receive(packet);
// 4.读取数据
String info = new String(data, 0, packet.getLength());
System.out.println("我是服务器,客户端说:" + info);
// 5.关闭资源
socket.close();
}
}
原文地址: https://www.cveoy.top/t/topic/oaEV 著作权归作者所有。请勿转载和采集!