网络编程疑问:Java Socket API如何实现TCP/UDP通信?
在Java中,Socket API是用于实现TCP(传输控制协议)和UDP(用户数据报协议)通信的工具。
以下是通过Socket API实现这两种通信方式的基本步骤:
创建Socket:
- TCP:
ServerSocket server = new ServerSocket(port);
- UDP:
Socket socket = new DatagramSocket();
- TCP:
客户端与服务器的TCP通信:
- 发送数据:
DataOutputStream out = new DataOutputStream(socket.getOutputStream()));
- 接收数据:
byte[] buffer = new byte[1024];
- 读取并写入数据:
out.writeUTF(data); socket.getInputStream().read(buffer); out.write(buffer, 0, buffer.length);
- 发送数据:
客户端与服务器的UDP通信:
- 发送数据:
DatagramSocket socket = new DatagramSocket(); byte[] data = "Your message".getBytes();DatagramPacket packet = new DatagramPacket(data, data.length, InetAddress.getByName("Server IP"), port)); socket.send(packet);
- 接收数据:
socket.receive(packet); String receivedMessage = new String(packet.getData());
- 发送数据:
注意,这里的服务器IP和客户端IP都需要替换为实际的网络地址。
还没有评论,来说两句吧...