Java中的SocketIO客户端,如何实现与netty-socketio Server的工作?
Posted
技术标签:
【中文标题】Java中的SocketIO客户端,如何实现与netty-socketio Server的工作?【英文标题】:SocketIO Client in Java, how to implement working with 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做客户端的方法了吗?我也有同样的情况。谢谢! 【参考方案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());
【讨论】:
以上是关于Java中的SocketIO客户端,如何实现与netty-socketio Server的工作?的主要内容,如果未能解决你的问题,请参考以下文章
java 大文件上传 断点续传 完整版实例 (SocketIO流)