Socket.io服务端回调

4

当客户端调用服务器时,我已经成功地使用http://socket.io完成了回调。

socket.on('event', function(data, fn){ fn(null, true); }

我想知道是否可以在服务器调用客户端时实现相同的操作?

2
我认为这里已经解释了一切->http://socket.io/#how-to-use - Games Brainiac
我之前阅读过这个页面,它解释了如何在客户端调用服务器时进行回调,而不是相反的情况。我正在寻找是否可能在服务器调用客户端时进行回调。 - Louis
你想将一个函数发送给客户端以便运行吗? - Todilo
1
我的目标是向客户端发送一个发射事件。一旦客户端执行该函数,它会执行一个回调到服务器。 - Louis
这个函数应该在服务器端还是客户端定义?也就是说,服务器是否应该将函数本身传递给客户端,还是函数在客户端的源代码中定义? - Todilo
1个回答

1
emiton在客户端和服务器端的工作方式完全相同。因此,如果您在服务器端向客户端套接字发出信号,那么如果在客户端订阅了该事件,则它将触发该事件。反之亦然。
您感到困惑的是,服务器有一个监听一个的套接字,并且与每个客户端的套接字建立多个连接。
而客户端只有一个与服务器通信的套接字。
示例在这里:http://socket.io/#how-to-use 进行双向消息传递,您需要在拒绝不存在双向消息传递之前清楚地阅读它们。

1
这并不是他所问的内容。他在谈论将回调函数作为参数发送到 emit。网站上的文档只显示了将回调传递给服务器,然后在服务器上执行。他想知道是否可以反过来从服务器向客户端发送回调以便执行。 - Chev
我的错,我现在看到了这种功能。虽然很容易根据自己的特定需求创建它。 那您建议删除这个答案吗? - moka
我不知道“非常容易”是什么意思。 - Chev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接