来自Socket.IO 网站的这个例子让我很困惑。发送和获取数据(确认):
客户:
<script>
socket.on('connect', function () {
socket.emit('ferret', 'tobi', function (data) {
console.log(data); // data will be 'woot'
});
});
</script>
服务器:
io.sockets.on('connection', function (socket) {
socket.on('ferret', function (name, fn) {
fn('woot');
});
});
我实际上是在复制这个例子。我无法理解的是:
- Q1:首先这是如何工作的。服务器(执行时
fn
)是否自动将结果发送给客户端?Socket.IO 是否绑定fn
到客户端的第三个参数emit
? - Q2 :服务器匿名中的(未使用)
name
参数是什么?记录它显示它是,为什么?function (name, fn)
undefined