实现上述操作的源代码
时间: 2024-02-17 15:03:58 浏览: 25
以下是一个简单的实现示例:
服务端代码(Server.java)
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
int portNumber = 8080;
try (ServerSocket serverSocket = new ServerSocket(portNumber)) {
System.out.println("Server started");
while (true) {
Socket clientSocket = serverSocket.accept();
System.out.println("New client connected");
new ClientThread(clientSocket).start();
}
} catch (IOException e) {
System.err.println("Could not start server on port " + portNumber);
System.exit(-1);
}
}
}
class ClientThread extends Thread {
private Socket socket;
public ClientThread(Socket socket) {
this.socket = socket;
}
public void run() {
try (PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("Received message from client: " + inputLine);
if (inputLine.equals("Hello Java!")) {
out.println("Hi, there!");
System.out.println("Sent message to client: Hi, there!");
} else {
out.println("Unknown message: " + inputLine);
System.out.println("Sent message to client: Unknown message: " + inputLine);
}
}
socket.close();
System.out.println("Client disconnected");
} catch (IOException e) {
System.err.println("Error handling client: " + e.getMessage());
}
}
}
```
客户端代码(Client.java)
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
String hostName = "localhost";
int portNumber = 8080;
try (Socket socket = new Socket(hostName, portNumber);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in))) {
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("Sent message to server: " + userInput);
String serverResponse = in.readLine();
System.out.println("Received message from server: " + serverResponse);
}
} catch (UnknownHostException e) {
System.err.println("Unknown host: " + hostName);
System.exit(-1);
} catch (IOException e) {
System.err.println("Could not connect to server on port " + portNumber);
System.exit(-1);
}
}
}
```
运行Server.java,然后运行Client.java,输入"Hello Java!",即可看到服务端返回"Hi, there!"的消息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)