Java核心类库之(网络编程:网络编程入门、UDP通信程序
import java.net.*;
public class UdpEchoClient {
public static void main(String[] args) {
try {
// 确定服务器地址和端口
InetAddress serverAddress = InetAddress.getByName("127.0.0.1");
int port = 7;
// 创建数据报套接字
DatagramSocket socket = new DatagramSocket();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine;
while ((inputLine = in.readLine()) != null) {
if (inputLine.equals("exit")) {
break;
}
// 将输入的文本转换为字节
byte[] bytes = inputLine.getBytes();
// 创建数据报,包含输入的文本
DatagramPacket outgoing = new DatagramPacket(bytes, bytes.length, serverAddress, port);
// 发送数据报
socket.send(outgoing);
// 创建用于接收响应的数据报
byte[] inBuffer = new byte[100];
DatagramPacket incoming = new DatagramPacket(inBuffer, inBuffer.length);
// 接收服务器的响应
socket.receive(incoming);
// 输出服务器的响应
System.out.println("Received: " + new String(incoming.getData(), 0, incoming.getLength()));
}
// 关闭数据报套接字
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这段代码展示了如何使用Java的DatagramSocket
和DatagramPacket
类来实现一个简单的UDP回显客户端。客户端从标准输入读取文本,将其发送到本地主机的7号端口,并接收服务器的响应。当输入"exit"时,客户端关闭套接字并退出。这个例子是网络编程入门的一个很好的起点。
评论已关闭