Java中的SocketIO Client,如何实现与netty-socketio Server一起工作?

对于大学的实践课程,我必须用Java编写一个带有客户端/服务器基础结构的小游戏。 我需要使用Websockets进行通信,其他学生的解决方案必须与我的兼容,为服务器端选择了Netty SocketIO Server( https://github.com/mrniko/netty-socketio/tree/master/src )。 我已经知道如何设置服务器:

Configuration config = new Configuration(); config.setPort(1234); config.setHostname("localhost"); server = new SocketIOServer(config); server.addConnectListener( (client) -> { System.out.println("Client has Connected!"); }); server.addEventListener("MESSAGE", String.class, (client, message, ackRequest) -> { System.out.println("Client said: " + message); }); server.start(); 

现在请你解释一下,客户端代码应该是什么样的,以及我应该使用SocketIOClient(Netty只带来接口)的实现? 如果你能告诉我产生输出的代码会很棒

客户已连接!
客户说:你想要的任何消息:)

我真的被困在这里,已经在玩这样的实现https://github.com/socketio/socket.io-client-java但仍然无法弄清楚如何构建客户端并连接到我的服务器。 谢谢你的帮助。

费利克斯

你可以用它

这是示例代码。

 public class MySocketClient { public static void main(String args[]) { Options options = new Options(); options.reconnection= true; Socket socket = IO.socket("URL of socket.io server"); //socket.on socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { @Override public void call(Object... args) { System.out.println("Connected"); } }) .on(Socket.EVENT_DISCONNECT, new Emitter.Listener() { @Override public void call(Object... args) { System.out.println("Disonnected"); } }); socket.connect(); } } 

每个事件都可以为事件分配类。 即。

 socket.on("myEvent", new MyEventListner()) 

和listner类是

 class MyEventListner implements Listener{ @Override public void call(Object... args) { System.out.println("myEvent, msg="+args[0].toString()); } }