帮我用java实现一个类,class Receiver extends Thread{ } ,实现客户端从服务端接收消息
时间: 2024-03-04 18:48:51 浏览: 63
好的,以下是一个简单的 Java 代码示例,可以实现客户端从服务端接收消息:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
public class Receiver extends Thread {
private Socket socket;
public Receiver(Socket socket) {
this.socket = socket;
}
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message;
while ((message = reader.readLine()) != null) {
System.out.println("Received message: " + message);
}
} catch (Exception e) {
System.out.println("Error receiving message: " + e.getMessage());
}
}
}
```
在上面的代码中,`Receiver` 类继承了 `Thread` 类,并重写了 `run` 方法。在 `run` 方法中,我们使用 `BufferedReader` 类从 `socket` 中获取输入流,并通过 `readLine` 方法读取服务端发送的消息。在读取到消息后,我们可以通过 `System.out.println` 方法将消息打印出来。
在客户端代码中,可以通过以下方式启动 `Receiver` 线程:
```java
Socket socket = new Socket("localhost", 8080);
Receiver receiver = new Receiver(socket);
receiver.start();
```
在上面的代码中,我们先创建了一个 `Socket` 对象,连接到服务端的 IP 地址和端口号。然后,我们创建了一个 `Receiver` 对象,并将 `socket` 作为参数传递给它。最后,我们调用 `start` 方法启动 `Receiver` 线程,开始接收服务端发送的消息。
阅读全文