[英]Sending message between two users via node.js and socket.io
我是node.js和socket.io的新手
我有兩個客戶端,它們的ID為1和2。我需要通過socket.io發送包含以下內容的數據:user_from,user_to,action
並且數據從雙方發送。
我如何使用socket.emit()從客戶端1發送此數據,所以可以設置variable:data?
如何使用socket.get在服務器上讀取該數據?
並再次將其從服務器發送到客戶端2? (我找到了此代碼:io.sockets.volatile.emit('broadcast_msg',msg);但是我只想將其從特定用戶發送到特定用戶,而不是將所有連接的用戶發送出去。)
感謝您的幫助,我看到了很多例子,但不是我所需要的。
更新:
我不明白這段代碼:
// on server started we can load our client.html page
function handler(req, res) {
fs.readFile(__dirname + '/client.html', function(err, data) {
if(err) {
console.log(err);
res.writeHead(500);
return res.end('Error loading client.html');
}
res.writeHead(200);
res.end(data);
});
}
為什么我需要這樣做? 我有ex:index.php?menu = 30或index.php?menu = 30&action = 12
您正在尋找路由功能。 socket.io提供的是點對點通信。 例如從1個客戶端到服務器。
因此,從邏輯上講,您需要服務器路由郵件,這意味着郵件應具有尋址信息(例如,目標收件人的ID)。 然后,可以通過例如創建(自定義)特定於用戶的事件來路由消息,這些事件將基於傳入消息的目標用戶來觸發。
如果要構建任何需要擴展的東西,也許您應該看一下RabbitMQ這樣的消息傳遞框架。 這恰好意味着在分布式實體(例如用戶)之間路由消息。
干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.