私は過去1週間この特定の問題を検索していましたが、件名に関する情報が見つかりませんでした。他のものに取り組む。しかし、今私はnode.jsとsocket.ioを使ってサーバーに接続しているIDを使って特定のクライアントにデータを送信できるようにする必要があります。私は既に新しい接続ごとにオブジェクトにIDを格納しています。私が知る必要があるのは、私が選択した接続IDにそれを送信する方法です。Node.JS特定の接続IDにパケットを送信するSocket.IO
次のようなものです。function send(data、client.id){};
私はTCPではなくhttpサーバを使用しています。
これは可能ですか?
編集:
server = http_socket.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(respcont);
client_ip_address = req.header('x-forwarded-for');
});
socket = io.listen(1337); // listen
//=============================================
// Socket event loop
//=============================================
socket.on ('connection', function (client_connect) {
var client_info = new client_connection_info(); // this just holds information
client_info.addNode(client_connect.id, client_connect.remoteAddress, 1); // 1 = trying to connet
var a = client_info.getNode(client_connect.id,null,null).socket_id; // an object holding the information. this function just gets the socket_id
client_connect.socket(a).emit('message', 'hi');
client_connect.on('message', function (data) {
});
client_connect.on ('disconnect', function() {
);
});
ソリューション:私はあなたがTODOを持っていることは(私はやっていたように)あなたはSOCKETを保存してください、ないsocket.idを作成し、使用することである...ただ実験によってそれを考え出しました代わりに。
client_info.addNode(client_connect.id, client_connect.remoteAddress, client_connect, 1)
var a = client_info.getNode(client_connect.id,null,null,null).socket;
a.emit('message', 'hi');
ちょうどあなたの情報のために、HTTPはTCP接続で動作するプロトコルです。 TCPは、IPを使用するプロトコルで、電気信号または光信号を使用する(ほとんど)イーサネットを使用します。 –
ああありがとう。私はちょうどhttpバージョンではなくTCPバージョンのための助けを得たいと思っていませんでした。実際には、私はちょうどその前にそれについて学んだ! :) – user1328762