2016-12-09 9 views
1

私はsocket.ioを使用して、ユーザー(App)から管理者(ブラウザ)にチャットしています。ここでadmin msgはユーザーに正しく受信されましたが、管理者はユーザーメッセージを受信しませんでした。チャットアプリケーションのために私はhttps://www.sitepoint.com/using-socket-io-and-cordova-to-create-a-real-time-chat-app/に従っています。また、App to Appチャットがあり、それは私のためにうまくいきます。ここでは、ここでsocket.io App to web chat

は私のサーバー側のコードである

socket.on('send:message', function (msg) { 
    console.log("send:message", msg); 
    if (msg.orderChat) var q = models.orderChat.create(msg) 
    else var q = models.chat.create(msg) 
    q.then(function (ret) { 
     console.log(ret.get({ plain: true })); 
     socket.in(msg.chat_room).emit('send:message', msg); 
     //socket.emit('send:message', msg); 
    }).catch(function (err) { 
     console.log(err); 
     socket.in(msg.chat_room).emit('send:message', 'Server Error'); 
    }); 
}); 

は私のクライアント側のコード

socket.on('send:message', function (msg) { 
    username = $('.pchat').attr('data-username'); 
    console.log(msg); 
    $("#chat_div_" + username).chatbox("option", "boxManager").addMsg(username, msg.message); 
}) 

更新 また、コードは正常に動作する場合チャットユーザーに同じブラウズ中ですが、クロスブラウズではない

答えて

1

私はあなたのサーバー側では、

チャンスがここに提供されているコードの外のバグがあるがあると信じて私が変更されました:

socket.in(msg.chat_room).emit('send:message', msg); 

あなたがフルを提供することができれば

socket.in(msg.chat_room).emit('send:message', { 
      message: msg 
     }); 

ものの

にコードでは、さらにトラブルシューティングを手伝うことができます。