NodeJS - 处理私人消息的最佳方式?
NodeJS - Best way to handle private messaging?
我想用NodeJS和websockets创建一个私人消息系统。
我想知道创建这样的系统的最佳方法是什么。
是为每个用户创建 1 个 nodeJS 服务器并绑定监听事件更好,还是我应该为 2 个用户之间的每个对话创建一个唯一的 port/server。
即
conversation 1 (user1 & user2): port 8080
conversation 2 (user2 & user3): port 8081
conversation 3 (user1 & user3): port 8082
Is it better to create 1 nodeJS server and bind listen-event for each
user, or should I create a unique port/server for each conversation
between 2 users. i.e.
都没有。
您可以轻松地在两个用户之间创建私人对话,一台服务器侦听一个端口并允许用户连接到该服务器,然后确定他们希望与哪个其他用户进行私人对话。
- 用户在登录并连接到服务器时使用某种凭据向服务器标识自己。然后您的服务器知道哪个用户属于哪个连接。
- 然后,服务器可以通过简单地允许用户 A 将消息传递给用户 B 和 vice/versa 来促进任何两个用户之间的私人对话,但不允许其他任何人访问这些消息。不需要每个用户的私人服务器。不需要自定义端口。您确实需要某种用户身份验证服务,这样您就可以知道哪个用户具有适当的可信度。
您可以在此 socket.io demo chat server.
中看到您所询问的部分内容
下面是关于其工作原理的更详细说明:
- 用户 A 连接到服务器并识别自己。
- UserB 连接到服务器并识别自己。
- UserC 连接到服务器并识别自己。
- 用户A向服务器发送消息,指示服务器向用户C发送私信
- 服务器从用户 A 接收到该消息并将其转发给用户 C。
- 用户C收到用户A的私信。
- 服务器不会存储来自用户 A 的消息,也不会将其发送给任何其他用户(因此使其成为私人消息)。
- 然后用户 C 可以使用相同的机制响应用户 A。
注意:几乎任何方案都要求您同时拥有用户身份验证和用户标识符。然后,您还必须在用户界面中显示它,以便给定用户可以识别他们希望与哪个当前连接的用户进行通信。
我想用NodeJS和websockets创建一个私人消息系统。 我想知道创建这样的系统的最佳方法是什么。
是为每个用户创建 1 个 nodeJS 服务器并绑定监听事件更好,还是我应该为 2 个用户之间的每个对话创建一个唯一的 port/server。 即
conversation 1 (user1 & user2): port 8080
conversation 2 (user2 & user3): port 8081
conversation 3 (user1 & user3): port 8082
Is it better to create 1 nodeJS server and bind listen-event for each user, or should I create a unique port/server for each conversation between 2 users. i.e.
都没有。
您可以轻松地在两个用户之间创建私人对话,一台服务器侦听一个端口并允许用户连接到该服务器,然后确定他们希望与哪个其他用户进行私人对话。
- 用户在登录并连接到服务器时使用某种凭据向服务器标识自己。然后您的服务器知道哪个用户属于哪个连接。
- 然后,服务器可以通过简单地允许用户 A 将消息传递给用户 B 和 vice/versa 来促进任何两个用户之间的私人对话,但不允许其他任何人访问这些消息。不需要每个用户的私人服务器。不需要自定义端口。您确实需要某种用户身份验证服务,这样您就可以知道哪个用户具有适当的可信度。
您可以在此 socket.io demo chat server.
中看到您所询问的部分内容下面是关于其工作原理的更详细说明:
- 用户 A 连接到服务器并识别自己。
- UserB 连接到服务器并识别自己。
- UserC 连接到服务器并识别自己。
- 用户A向服务器发送消息,指示服务器向用户C发送私信
- 服务器从用户 A 接收到该消息并将其转发给用户 C。
- 用户C收到用户A的私信。
- 服务器不会存储来自用户 A 的消息,也不会将其发送给任何其他用户(因此使其成为私人消息)。
- 然后用户 C 可以使用相同的机制响应用户 A。
注意:几乎任何方案都要求您同时拥有用户身份验证和用户标识符。然后,您还必须在用户界面中显示它,以便给定用户可以识别他们希望与哪个当前连接的用户进行通信。