用Java写一套完整的tcp连接程序
时间: 2023-10-10 17:10:20 浏览: 43
当然可以!下面是一个简单的示例,展示了如何使用Java编写一个完整的TCP连接程序:
```java
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) {
String serverAddress = "127.0.0.1"; // 服务器的IP地址
int serverPort = 5000; // 服务器的端口号
try {
// 创建Socket对象,指定服务器的地址和端口号
Socket socket = new Socket(serverAddress, serverPort);
// 获取输入流和输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
// 向服务器发送数据
out.println("Hello, server!");
// 从服务器接收数据
String response = in.readLine();
System.out.println("Server response: " + response);
// 关闭连接
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
```java
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
int serverPort = 5000; // 监听的端口号
try {
// 创建ServerSocket对象,指定监听的端口号
ServerSocket serverSocket = new ServerSocket(serverPort);
System.out.println("Server listening on port " + serverPort + "...");
while (true) {
// 等待客户端连接请求
Socket clientSocket = serverSocket.accept();
System.out.println("Accepted connection from " + clientSocket.getInetAddress());
// 获取输入流和输出流
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
// 从客户端接收数据
String request = in.readLine();
System.out.println("Client request: " + request);
// 向客户端发送数据
out.println("Hello, client!");
// 关闭连接
clientSocket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码分别实现了TCP客户端和TCP服务器端。客户端通过创建Socket对象连接到服务器的IP地址和端口号,然后使用输入流和输出流进行通信。服务器端通过创建ServerSocket对象监听指定的端口号,然后接受客户端连接请求,使用输入流和输出流进行通信。
请注意,这只是一个简单的示例,还可以根据实际需求进行修改和扩展。