我是node.js的新手,我想问一个关于它是如何工作的简单问题。
我过去曾使用FM进行客户端到客户端的通信和实时应用程序。例如,在创建协作应用程序时,您需要查看其他用户在做什么。我想用NodeJS来探索这一点。
我有几个问题:
1) NodeJs如何处理服务器端到客户端的通信?你有没有办法把信息推送给客户?或者客户端需要不断地向服务器发出请求,以查看是否发生了任何变化?
2)服务器和客户端之间是否存在永久连接?
3)如何处理客户端到客户端的通信(当然是通过服务器)?
提前谢谢。
发布于 2010-10-10 09:32:50
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.');
});
});发布于 2010-10-10 07:59:21
最近你提出了很多关于Node.js的问题;)
正如托比已经说过的那样,
https://stackoverflow.com/questions/3897426
复制相似问题