gpt4 book ai didi

java - Java中的SocketIO客户端,如何实现与netty-socketio服务器的配合?

转载 作者:行者123 更新时间:2023-12-03 02:36:12 29 4
gpt4 key购买 nike

对于大学的实践类(class),我必须用 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 仅带来接口(interface))吗?如果您能向我展示产生输出的代码,那就太好了

Client has connected!Client said: any message you'd like :)

我真的被困在这里,并且已经在尝试像这样的实现 https://github.com/socketio/socket.io-client-java但仍然不知道如何构建客户端并连接到我的服务器。感谢您的帮助。

菲利克斯

最佳答案

您可以使用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();
}
}

您可以为每个事件设置单独的类(class)。即。

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

监听器类是

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

关于java - Java中的SocketIO客户端,如何实现与netty-socketio服务器的配合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966042/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com