Socket.IO Webサイトのこの例は、私を混乱させます。データの送受信(謝辞):
クライアント:
<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.IOfn
はクライアントの3番目のパラメーターにバインドしますemit
か? - Q2:匿名サーバー
name
の(未使用の)パラメーターは何ですか?それをログに記録すると、それが理由であることがわかります。function (name, fn)
undefined