私のコード(下記)が動作しない理由を理解できません。 console.logは、ソケットに送信する前に、サーバー側の正しいsocket.idを表示します。では、なぜメッセージが届かないのですか?プライベートメッセージがsocket.ioで機能しない
サーバー側:
socket.on("connectToUser", function(userName, currentUserName, userID){
console.log("user wants to connect to: ",userID);
socket.to(userID).emit("connectNotification", currentUserName);
});
クライアント・サイド:
socket.on("connectNotification", function(currentUserName){
console.log("correct user notified");
$("#connectToBox").append("Hallo");
});
はsocket.idはオリジナルのものでなければなりませんか?その時点で、socket.io
はすでに基づいていくつかの内部のハウスキーピングを行っているので、connection
イベントが発生した後にsocket.id
を変更
socket.on('connection', function(socket){
console.log('a user connected', socket.id);
var id = uuid.v4();
socket.id = id;
console.log(socket.id);
私はそう思う、それは元のものでなければならない、 'uuid.v4()'を使ってそれを操作せず、あなたのソケットから返されているものを使って、それが動作しているかどうかを確認する。 –
ソケットvar!私はあなたのコードについてもっと詳しく説明するべきだと思います。なぜなら、これが何が間違っているかを理解するには十分ではないからです。 – Luillyfe
まずクライアントがサーバーに正しく接続されていることを確認する必要があります クライアント側:新しいio.connect( "http:// localhost:3000 your app url"); –