TCP服务器如何知道将消息发送到哪里? (客户A或客户B?)

  • 实现了TCP服务器
  • 已实现TCP客户端

服务器已启动

客户端A连接

客户端B连接

客户端C连接

客户端A向服务器发送消息(但他想发送至客户端B或C或所有客户端)

例如:假设...

  

服务器需要将此消息发送到客户端B

How client A will send the message so that server will know that A want to 
send this message to B or C etc..

客户端A是否应该与发送ID的消息一起假设客户端B,以便服务器提取ID,并在某种程度上知道该消息会将消息转发给客户端B?

..还是我认为聊天应用程序的工作方式完全错误?

每个客户端也应该充当服务器吗?当客户想与客户B交谈时,是否采用相同的逻辑?

我在网上搜索了示例,但其中大多数都依赖于简单的服务器和一个客户端。

我不需要代码,只需要想法就可以理解它是如何工作的。

任何帮助表示感谢,谢谢!

TYCandy 回答:TCP服务器如何知道将消息发送到哪里? (客户A或客户B?)

签出https://github.com/microsoft/Build-Mobile-App-with-Chat/blob/master/02%20Tutorial%20Guide.md

存在使用服务器推送技术和服务总线来接受消息并进行传递的非TCP聊天的代码和逻辑。

对于TCP,适用相同的原理。接收有关某个主题的消息,将其添加到某个队列或一个主题(最好是多人聊天室),然后将后台工作传递给对该主题感兴趣的所有人。

您当然需要某种持久层来存储消息并跟踪传递,历史记录,喜欢和排序。

本文链接:https://www.f2er.com/3122130.html

大家都在问