这个来自Socket.IO website的例子让我很困惑。 发送和获取数据(确认):什么是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:是什么在服务器匿名
function (name, fn)
的(未使用)name
参数?记录它显示它是undefined
,为什么?
实际上,服务器只是将传递给'fn'的论点客户端,所以该功能在那里执行,而不是在服务器上执行。 – Killah 2014-04-30 00:11:46
yes name是由客户发送的数据,他们称之为名称,因为它引用'tobi'的名称:) – YouneL 2017-06-01 17:25:12