java socket客户端 长连接代码
时间: 2023-07-30 07:06:28 浏览: 46
以下是 Java Socket 客户端的长连接代码示例:
```java
import java.net.*;
import java.io.*;
public class Client {
private Socket socket;
private BufferedReader in;
private PrintWriter out;
private boolean connected;
public void startConnection(String ipAddress, int port) {
try {
socket = new Socket(ipAddress, port);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
connected = true;
} catch (IOException e) {
System.out.println("Error connecting to server: " + e.getMessage());
}
}
public void sendMessage(String message) {
if (connected) {
out.println(message);
}
}
public void stopConnection() {
try {
in.close();
out.close();
socket.close();
connected = false;
} catch (IOException e) {
System.out.println("Error closing connection: " + e.getMessage());
}
}
public void listenForMessages() {
try {
String message;
while (connected && (message = in.readLine()) != null) {
// 处理从服务器接收到的消息
System.out.println("Received message: " + message);
}
} catch (IOException e) {
System.out.println("Error listening for messages: " + e.getMessage());
}
}
}
```
这个示例中,`startConnection` 方法用于连接到指定的 IP 地址和端口号,`sendMessage` 方法用于发送消息,`stopConnection` 方法用于关闭连接。`listenForMessages` 方法用于在连接建立后监听从服务器接收到的消息。使用时可以先调用 `startConnection` 方法建立连接,然后调用 `sendMessage` 方法发送消息,最后调用 `stopConnection` 方法关闭连接。在连接建立后,`listenForMessages` 方法会不断监听从服务器接收到的消息,直到连接关闭。