我已經使用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