【问题标题】:SocketIO Client in Java, how to implement working with netty-socketio Server?Java中的SocketIO客户端,如何实现与netty-socketio Server的工作?
【发布时间】:2016-06-28 05:20:22
【问题描述】:

对于大学的实践课程,我必须用 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 这样的实现,但仍然无法弄清楚如何构建客户端并连接到我的服务器。 感谢您的帮助。

菲利克斯

【问题讨论】:

  • 你找到用socketIO和java做客户端的方法了吗?我也有同样的情况。谢谢!

标签: java websocket socket.io netty


【解决方案1】:

您可以使用this

这里是示例代码。

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());
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 2018-02-27
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多