要實現即時通訊,可以使用SocketIO庫來創建一個實時的雙向通信通道。以下是一個簡單的示例代碼,演示如何使用SocketIO來實現即時通訊:
<dependency>
<groupId>com.corundumstudio.socketio</groupId>
<artifactId>netty-socketio</artifactId>
<version>1.7.12</version>
</dependency>
import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.SocketIOServer;
public class ChatServer {
public static void main(String[] args) {
Configuration config = new Configuration();
config.setHostname("localhost");
config.setPort(9092);
SocketIOServer server = new SocketIOServer(config);
server.start();
System.out.println("SocketIO server started on port 9092");
}
}
import io.socket.client.IO;
import io.socket.client.Socket;
public class ChatClient {
public static void main(String[] args) throws URISyntaxException {
Socket socket = IO.socket("http://localhost:9092");
socket.connect();
socket.emit("message", "Hello, Server!");
}
}
server.addEventListener("message", String.class, (client, data, ackRequest) -> {
System.out.println("Received message from client: " + data);
client.sendEvent("response", "Message received by server");
});
socket.on("response", new Emitter.Listener() {
@Override
public void call(Object... args) {
String message = (String) args[0];
System.out.println("Received response from server: " + message);
}
});
通過以上步驟,你可以通過SocketIO實現一個簡單的即時通訊系統。在實際應用中,你可以根據需求添加更多的功能和消息處理邏輯。