pm メッセージを送信するために Node.js サーバー側と ios クライアント側を実装しました。しかし、主な問題は、私のコードはまだテキストメッセージがすべてのクライアントにブロードキャストされているように動作します。(私は3台の電話で試しました。特定のクライアントにeメッセージを送信しただけですが、クライアントとそのメッセージを送信した私の電話の両方にメッセージが送信されました)
私のサーバーコードは次のようになります:
io.sockets.on('connection', function (socket) {
var userName;
var userSrcID;
socket.on('setUserName',function(user){
userName = user.name;
userSrcID = user.id;
clients[user.name] = socket;
clients[user.id] = socket;
console.log('data = ',user);
//io.sockets.emit('new user', user.name + " has joined.");
});
socket.on('message', function(msg){
io.sockets.emit('message', msg);
});
socket.on('pm', function(msg){
fromMsg = {from:userSrcID, txt:msg}
//clients[msg.to].emit('private message', fromMsg);
console.log('Gidicek username:',userName);
io.sockets.emit('new message',{msg: msg,destID:userSrcID});
そのメッセージの送信先ユーザー ID が私のユーザー ID に属していない場合は表示しないという条件を作成できますが、スイッチの代わりにオールドスクール HUB ネットワークを使用するのが好きです :)
どんな助けでも大歓迎です
よろしくお願いします 、