java socket服务端 演示代码
时间: 2023-05-17 12:02:42 浏览: 83
以下是一个简单的 Java Socket 服务端演示代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(8888);
} catch (IOException e) {
System.err.println("Could not listen on port: 8888.");
System.exit(1);
}
Socket clientSocket = null;
try {
System.out.println("Waiting for connection...");
clientSocket = serverSocket.accept();
System.out.println("Connection established with " + clientSocket.getInetAddress().getHostName());
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine, outputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("Received message: " + inputLine);
outputLine = "Server received: " + inputLine;
out.println(outputLine);
if (outputLine.equals("Bye."))
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}
```
这个代码创建了一个 ServerSocket 对象,监听端口号为 8888。当客户端连接到这个端口时,它会接受连接并创建一个 Socket 对象。然后,它会创建一个 PrintWriter 对象和一个 BufferedReader 对象,用于向客户端发送和接收消息。在一个循环中,它会读取客户端发送的消息,并将其打印到控制台上。然后,它会将一个响应消息发送回客户端。如果客户端发送了 "Bye." 消息,它会退出循环并关闭连接。