-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTCPServer.java
More file actions
44 lines (37 loc) · 1.65 KB
/
Copy pathTCPServer.java
File metadata and controls
44 lines (37 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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) {
// 定义端口
int port = 12345;
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server is listening on port " + port + "...");
// while (true) {
// 等待客户端连接
Socket clientSocket = serverSocket.accept();
System.out.println("Connected by " + clientSocket.getRemoteSocketAddress());
// 处理客户端连接
try (InputStream input = clientSocket.getInputStream();
OutputStream output = clientSocket.getOutputStream()) {
byte[] buffer = new byte[1024];
int bytesRead;
// 读取客户端发送的数据
while ((bytesRead = input.read(buffer)) != -1) {
String receivedData = new String(buffer, 0, bytesRead);
System.out.println("Received: " + receivedData);
// 将数据返回给客户端
output.write(buffer, 0, bytesRead);
output.flush();
}
} catch (IOException e) {
System.err.println("Error handling client connection: " + e.getMessage());
}
// }
} catch (IOException e) {
System.err.println("Could not start server on port " + port + ": " + e.getMessage());
}
}
}