我正在尝试通过命名空间“/watch”下的socket io与web服务器通信
根据迄今为止的客户机-服务器契约,当我发出事件“ping”时,我从服务器得到一个成功的ping。
当事件“sub”与负载{“state”:“true”}一起发出时,它返回一个json响应,成功时返回事件“data”,失败时返回事件“error”。。在这种情况下,当我发出事件“sub”并侦听数据和错误时,我不会从服务器收到反馈。。
我想不出我可能做错了什么。
注意:cors已在服务器中启用,是否有任何配置要为此在客户端头上执行?
客户初始化
val manager = Manager(URI(Constants.URL))
manager.reconnection(true)
val socket = manager.socket("/watch") //Namespace
socket.connect()
socket.on(com.github.nkzawa.socketio.client.Socket.EVENT_CONNECT) {
Log.d("EVENT CONNECT", "")
}.on(Socket.EVENT_DISCONNECT) {
Log.d("EVENT DISCONNECT", ""))
}.emit("sub", Gson().toJson(State("true"))).on("data") { array->
array?.let {
it.map { output->
android.util.Log.d("output is", output.toString())
}
}
Log.d("Data", "")
socket.emit(topic, WebSocketServiceImpl.CLIENT_ACKNOWLEDGEMENT)
}.on("error") { array->
array?.let {
it.map { output->
Log.d("output is", output.toString())
}
}
}
socket.connect()
我在android代码中使用以下客户端
implementation 'com.github.nkzawa:socket.io-client:0.6.0'
如果ping成功了,我还缺什么?
暂无答案!
目前还没有任何答案,快来回答吧!