繁体   English   中英

未发送Socket.IO心跳

[英]Socket.IO heartbeat not sent

我一直在运行Socket.IO服务器( https://github.com/mrniko/netty-socketio ),并与客户端( https://github.com/nkzawa/socket.io-client.java )通信在Android模拟器上运行。 模拟器托管在运行服务器的计算机上。 我能够创建从客户端到服务器的初始连接,并成功发送一条消息(从客户端到服务器),但是此后不久,心跳失败并且连接断开:

DEBUG [07:17:45.470] ccsocketio.transport.NamespaceClient:名称空间的客户端157e4f73-e26d-459c-ac1c-506628b66a09已断开连接DEBUG [07:17:45.470] ccsocketio.SocketIOChannelInitializer:会话ID为157e4f73-e26d的客户端-ac1c-506628b66a09断开连接的调试[07:17:45.470] ccsocketio.transport.NamespaceClient:名称空间/ android /的客户端157e4f73-e26d-459c-ac1c-506628b66a09已断开连接的调试[07:17:45.471]
ccsocketio.handler.ClientHead:157e4f73-e26d-459c-ac1c-506628b66a09由于ping超时DEBUG而被删除[07:17:46.119]
ccstransport.WebSocketTransport:的客户端已断开连接。 频道已关闭!

服务器代码:

Configuration serverConfig = new Configuration();
serverConfig.setHostname(MACHINE_IP);
serverConfig.setPort(8082);
serverConfig.setPingTimeout(20);
SocketIOServer server = new SocketIOServer(serverConfig);
server.addNamespace("/android/")
server.start()

客户代码:

IO.Options options = new IO.Options();
options.transports = new String[]{"websocket"};
options.reconnectionAttempts = 5;
options.reconnectionDelay = 10000;
Socket socket = IO.socket(MACHINE_IP + ":8082/android/", options)

我究竟做错了什么? 谢谢。

我终于可以自己解决问题了(可能还有其他解决方案)。

我所做的是:

  1. 在本地主机上启动服务器-因为不需要在计算机外部可见服务器
  2. 将客户端连接到10.0.2.2-这是模拟器访问其主机localhost的方式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM