我是Node.js和socket.io新手。
我去插座的官方网站。Io,并尝试教程。http://socket.io/get-started/chat/
它在我的电脑上工作正常。但是我完全不能理解它的代码的本质。
问题:下面代码中的"套接字变量"是什么?它来自哪里?
io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
也许"msg variable"是字符串类型的变量。这是从客户端来的,对吧?
socket
变量基本上是客户机的套接字。io.on('conection')
将在每次新客户端连接时被调用,并提供一个套接字来订阅。
socket.on('chat message'
将订阅与该套接字实例关联的客户端发送的事件。
下面是程序的不同部分:
io.on('connection', function(socket){ // Waiting for new clients to connect, then return a socket instance
// msg can be any javascript object like a string or array ect.
socket.on('chat message', function(msg){ // Subscribe on event 'chat message' will be called when client do io.emit
io.emit('chat message', msg); // Server send to clients
});
});
变量msg的类型不完全是字符串,而更像是在'聊天消息'事件中发出的任何内容。你不必只发出字符串,你也可以发出对象。在这个例子的上下文中,是的。它来自客户端。
变量套接字,套接字是客户端和服务器之间的连接。如果服务器从该连接接收到一个'聊天消息'事件,或者更确切地说是'套接字',它会在它拥有的所有套接字上发出一个'聊天消息'事件。服务器发送给所有连接到它的套接字的"聊天消息"事件的内容与发送聊天消息的客户端首先发送给服务器的"聊天消息"事件的内容相同。