socket io客户端-服务器专用消息:如何实现它们?

问题描述 投票:0回答:1

我想实现一个Web浏览器客户端/后端服务器系统,使用socketio作为通信协议在Web客户端应用程序和服务器之间交换(二进制/语音)消息。

  • 每个客户端将消息(音频/语音消息)发送到nodejs服务器。
  • 服务器(“语音bot”)对入站邮件进行了一些详细说明,并向特定客户端回复出站邮件并带有出站邮件。
                           +----------------+   +------------------+
                           |                |   |                  |
         +--+              |                |   |                  |
         |  | web browser  |                |   |                  |
user 1   |  +--------------> https          |   |                  |
         |  <--------------+ web server     |   |                  |
         +--+              | for            |   |                  |
                           | static assets  |   |                  |
         +--+              |                |   |                  |
         |  | web browser  |                |   |      cobot       <--------+
user 2   |  +-------------->                +--->      dialog      +------+ |
         |  <--------------+                +---+      manager     |      | |
         +--+              | websocket      |   |      server      |      | |
                           | server         |   |      logic       |      | |
                           | for audio /    |   |                  |      | |
         +--+              | video          |   |                  |      | |
         |  | web browser  | messages       |   |                  |      | |
 user N  |  +-------------->                |   |                  |      | |
         |  <--------------+                |   |                  |      | |
         +--+              |                |   |                  |      | |
                           |                |   |                  |      | |
                           +----------------+   +------------------+      | |
                                                                          | |

也许有人可以将这种单播通信称为“单播”。服务器端,这是接收以下内容的Web服务器的通常行为来自某个客户的请求,并提供答复此请求的请求客户。

我对于使用socketio API实现所描述的场景感到困惑。如果我很了解,服务器可以使用默认的房间模式(例如emit-cheatsheet)以一对一的方式向连接的客户端发送一条消息:

// sending to individual socketid (private message)
socket.to(socketId).emit('messageType', 'message payload');

但是客户端如何仅向服务器节点发送消息(语音消息请求)(避免广播到所有客户端,这是许多聊天应用程序套接字示例的典型)?

javascript node.js browser socket.io client-server
1个回答
0
投票

您有任何代码吗?

根据我对您所说的理解,我将创建另一个仅与服务器通信的套接字,或者使用private message之类的ID打开服务器中的套接字

我希望这会给你一个线索

© www.soinside.com 2019 - 2024. All rights reserved.