我已经使用socket.io将Android客户端连接到了node.js服务器,并且我能够将消息发送到服务器,但不能在客户端上接收。 对于客户端我做的财产以后像Android客户端没有收到来自node.js服务器的socket.io消息
Log.i("MainActivity: ", "sending message");
final JSONObject sdpObj = new JSONObject();
try {
sdpObj.put("id","presenter");
sdpObj.put("sdpOffer",localSdpOffer.description);
} catch (JSONException e) {
e.printStackTrace();
}
LoginActivity.mSocket.emit("new message", sdpObj);
,并在服务器上我收到的对象,如:
io.sockets.on('connection',function(socket){
socket.on('new message',function(message){
// some logic
socket.emit('created',object);
然后在客户端:
LoginActivity.mSocket.on("created", new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.i(TAG, "message back:received ");
User user = new User();
JSONObject obj = null;
try {
obj = new JSONObject((String) args[0]);
//Log.i(TAG,"SdpAnswer: "+args[0].sdpAnswer+"id "+obj.sdpAnswer);
Log.i(TAG, "Instance of"+args[0].toString());
}
});
}
但由于某些原因它永远不会收到消息。 任何人都有一些想法,为什么这可能是?谢谢!
我不同意在上面的示例runOnUiThread是必需的。没有任何操纵任何观点。在我看来,这就是为什么在Socket.IO站点示例中需要这个原因。 – SiMet