如何使用Express POST请求作为socket.io广播的基础(而不是套接字消息)?
list_subseq([], []).
list_subseq([E|Es], [E|Xs]) :- list_subseq(Es, Xs).
list_subseq([_|Es], Xs ) :- list_subseq(Es, Xs).
答案 0 :(得分:0)
很简单。
每次与服务器建立连接时,socket
对象都将具有与此连接关联的ID。将它保存在客户端的某个变量中。
然后每次向服务器发送请求时添加socket id来查询参数。在服务器端收到POST请求后,将消息广播给所有用户,并将套接字ID广播到消息。在客户端通过添加逻辑来修改message
事件,如果客户端的套接字ID等于作为消息中的额外参数接收的套接字ID,则跳过/隐藏接收的消息。
<强>陷阱强>
如果由于某种原因在POST请求客户端断开连接并重新连接到服务器之后可能无法工作 - 在这种情况下,收到消息后客户端将具有与发送POST请求之前不同的新套接字ID。在这种情况下,您将不得不提出一些更多与连接无关的客户端ID方案来识别客户端并使用它而不是socket.id
作为标识符。您可以尝试使用会话。
即使无法显示,客户仍会收到消息。
组合客户端 - 服务器&#34;互通&#34;不好方法,彼此使用,反之亦然。