私はchat.jsとsocket.ioを使ってチャットアプリケーションを作成しています。別のソケットにメッセージを送るには、私はソケットのIDかユーザー名だけを知っています。部屋はなく、クライアントは1つ1つをチャットします。ユニークなソケットにメッセージを送信する
8
A
答えて
21
Socket.IOでは、接続機能のコールバック内でソケットオブジェクトを使用することだけに制限されません。特定のユーザー名のソケットオブジェクトを格納するオブジェクトを作成し、クライアントがメッセージを発行するときにソケットを参照してメッセージを送信することができます。あなたは、すべてのメッセージと共に意図したターゲットを送信する必要があります。
例:
var sockets = {};
...
io.on('connection', function(socket){
socket.on('set nickname', function (name) {
sockets[name] = socket;
});
socket.on('send message', function (message, to) {
sockets[to].emit(message);
});
});
はexamples page of Socket.IO's websiteの詳細例を参照してください。
0
あなたはこのようなすべてのソケットのユーザ名プロパティを確認することができます。
socket.on('send message', function(message,to){
io.sockets.clients().forEach(function (socket) {
if (socket.username==to){socket.emit(message);}
});
});
関連する問題
- 1. ソケットに停止メッセージを送信する
- 2. C/C++のソケットで複数のメッセージを送信する
- 3. メッセージを送信して同じソケットで応答を受信する方法
- 4. ソケット - 送受信
- 5. ファイルを送信してからソケットを通してメッセージ
- 6. ソケット経由で複数のメッセージを送信できません
- 7. ボタンがWM_COMMANDメッセージを送信するメッセージ
- 8. GCDAsyncSocketメッセージを送信する
- 9. 一度に複数のユニークな電子メールを送信する
- 10. Javaソケット送信データ
- 11. スウィフトでのソケットの使い方(接続、メッセージの送受信)
- 12. 何が速く複数の小さなメッセージを送信するか、より遅いメッセージをTCPソケットで送信する
- 13. UDPソケットで大きなデータを送信
- 14. ウィンドウハンドルにメッセージを送信
- 15. MSMQリモートキューにメッセージを送信
- 16. C2DMメッセージを送信
- 17. ロード中にWCFメッセージを送信する
- 18. Facebookアプリ:ユーザーにメッセージを送信する
- 19. オブジェクトにメッセージを送信する
- 20. WindowsサービスにWindowsメッセージを送信する
- 21. Websocketppでメッセージを送信するには
- 22. ソケット経由でファイルを送信する
- 23. UDPソケットでアンドロイドセンサーデータを送信する
- 24. AF_PACKETソケットのデータを送信する
- 25. Javaソケットで配列を送信する
- 26. Cantはjava sslソケットを使ってsslメッセージを送信します
- 27. ソケットの送受信(TCP/IP)
- 28. Javaソケット - リアルタイムでの送信
- 29. Rubyソケットがすべてのメッセージを受信していない
- 30. 送信トレイのメッセージが送信されない
素晴らしい、つまりソリューション –
どのように任意のニックネームにも属さないさ「に」ハンドルに?例えば;ニックネーム「A」はニックネーム「B」にメッセージを送信し、ニックネーム「B」はニックネーム「C」にメッセージを送信します。そして、ニックネーム "C"がありません。次にエラー= "プロパティを読み取ることができません '未定義の" – drojokef