实现java的TCP通信实例代码
时间: 2024-01-22 08:03:36 浏览: 119
以下是Java实现TCP通信的示例代码,包括服务器端和客户端:
服务器端代码:
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) {
try {
// 创建ServerSocket对象,指定监听的端口号
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器启动,等待客户端连接...");
// 调用accept()方法等待客户端连接
Socket socket = serverSocket.accept();
System.out.println("客户端:" + socket.getInetAddress().getHostAddress() + "已连接");
// 创建输入流和输出流
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
// 接收客户端发送的数据
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
String message = new String(buffer, 0, len);
System.out.println("客户端发送的数据:" + message);
// 发送数据给客户端
outputStream.write("Hello, Client!".getBytes());
// 关闭连接和资源
inputStream.close();
outputStream.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
客户端代码:
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) {
try {
// 创建Socket对象,指定服务器的IP地址和端口号
Socket socket = new Socket("localhost", 8888);
// 创建输入流和输出流
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
// 发送数据给服务器
outputStream.write("Hello, Server!".getBytes());
// 接收服务器发送的数据
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
String message = new String(buffer, 0, len);
System.out.println("服务器发送的数据:" + message);
// 关闭连接和资源
inputStream.close();
outputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
运行以上代码,可以实现简单的TCP通信。
阅读全文