3)如何能夠處理客戶端到客戶端 通信(當然通了 服務器)?
一個簡單的解決方案是打開服務器和每個客戶機之間的的WebSocket:
[客戶端A] < == WebSocket的==> [服務器] < == WebSocket的==> [客戶端B]
例如,如果您使用Socket.IO,那麼通過這種方式進行客戶端到客戶端通信非常容易。
當服務器收到來自一個客戶端的消息時,只需將其廣播給所有客戶端或根據您的使用情況將其發送給一個特定客戶端。
使用Socket.IO一些示例代碼:
var socket = io.listen(server);
socket.on('connection', function(client) {
client.on('message', function(msg) {
broadcast(msg); // broadcast message to all clients
// OR
socket.clients[session_id].send(msg); // send message to one client
});
client.on('disconnect', function() {
console.log('Client Disconnected.');
});
});
節點本身可以說話HTTP以及較低級別的TCP&Unix套接字。連接的客戶端因此決定了一些功能。你在這裏談論的是瀏覽器客戶端還是其他類型的客戶端? – 2010-10-09 22:48:48
僅限瀏覽器客戶端! – oscarm 2010-10-09 22:55:29
Socket.IO是瀏覽器客戶端的方式,如下所示 – 2010-10-10 06:22:48