在使用 socket.io 库时,我对如何放置不同的方法有点困惑。
在一个非常简单的聊天应用程序中,我有server.js
:
io.sockets.on('connection', function(socket) {
//some methods to handle when clients join.
socket.on('text', function(msg) {
socket.broadcast.emit('text', msg);
});
});
和client.js
:
var socket = io.connect();
socket.on('connect', function() {
//some methods to fire when client joins.
socket.on('text', function(msg) {
console.log(msg)
});
});
现在,在客户端加入时处理的方法以及之后处理发送和接收消息的方法都放在connect
/connection
事件方法中,无论是在服务器端还是在客户端,但这种结构似乎也适用于客户端:
var socket = io.connect();
socket.on('connect', function() {
//some methods to fire when client joins.
});
socket.on('text', function(msg) {
console.log(msg)
});
+potentially many more methods...
我的问题是,在 connect 方法内部和外部放置方法之间的根本区别是什么,什么被认为是最佳选择?