socket指定客户发送消息

发布于 2022-09-11 19:37:46 字数 88 浏览 16 评论 0

n个客户端连接服务器,其中a发起请求(TCP),
服务器想把a的消息指定发送某几个客户端
请问有什么可行的实现策略吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄荷梦 2022-09-18 19:37:46

思考了下,大致逻辑如下。

  1. 所有客户端请求连接服务器端;
  2. 客户端a发送字节串,格式为【前缀命令+定界符+消息】,前缀命令就是你要指定发送的那几个IP地址,定界符可以用【rnrn】,也可以你自行指定;
  3. 在一个线程池里运行TCP服务器端的listener.accept(),设置一个queue用于储存指定发送的IP地址和消息;
  4. 每条线程的逻辑是,先decode接收到的字节串,然后解析出IP地址和消息并存入queue中;
  5. 同时每条线程中,检查自己的sock.getpeername()的IP地址是否存在于queue中,若存在,就发送消息,发完后删除queue中的该IP地址。
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文