编写程序,完成如下功能:有1台服务器端和10台客户端,服务服务器端向10个客户端发送消息"连接上服务器......",客户端收到消息后在控制台打印出消息.用Java语言实现
时间: 2024-02-03 21:12:19 浏览: 64
以下是Java实现的示例代码:
服务器端:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接...");
for (int i = 1; i <= 10; i++) {
Socket socket = serverSocket.accept();
System.out.println("客户端" + i + "已连接服务器");
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("连接上服务器......");
out.close();
socket.close();
}
serverSocket.close();
System.out.println("所有客户端已连接完毕");
}
}
```
客户端:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8888);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = in.readLine();
System.out.println("收到消息:" + message);
in.close();
socket.close();
}
}
```
说明:
1. 服务器端使用`ServerSocket`监听端口8888,等待客户端连接;
2. 当10个客户端连接上服务器后,服务器端关闭`ServerSocket`,表示所有客户端已连接完毕;
3. 客户端使用`Socket`连接服务器,读取服务器发送的消息并打印出来;
4. `PrintWriter`用于向客户端发送消息,`BufferedReader`用于读取服务器发送的消息;
5. 运行时先启动服务器端,再启动10个客户端,客户端会依次连接服务器并打印出收到的消息。
阅读全文