【问题标题】:How to implement client-server udp multicast in one program?如何在一个程序中实现客户端-服务器 udp 多播?
【发布时间】:2011-05-18 19:55:13
【问题描述】:

我将服务器和客户端都编写为单独的应用程序。他们通过 UDP Multicast 进行通信(因为我需要加入该组的每个人都可以读取和写入消息)。现在我有两个窗口,但我的目标是创建一个简单的聊天程序,但我不知道如何同时收听和发送。我需要创建 2 个套接字吗?或者我可以只用一个吗?我什至尝试将这两个应用程序合并为一个,但没有成功(我知道,我知道.. 但我有点绝望)。

我在谷歌上搜索了一个 tut,但没有成功。

我正在使用 c++。

【问题讨论】:

  • 服务器有多个相互连接的客户端发送消息有什么问题?在不了解您当前实施的内容以及您的要求是什么的情况下,这对于一个好的答案来说有点太模糊了......
  • 我有一个有 10-12 个客户端的 LAN,我们只需要一个简单的聊天程序,我们不需要服务器,只需要一个简单的应用程序。我希望我足够清楚。对不起我的语言,不是母语,所以也许这就是我的帖子如此神秘的原因:)
  • 好吧,很明显,您可以使用像 Skype 这样的免费程序,但我指的是您的项目的编码要求以及您当前实施的内容的详细信息。您可以实现的最简单的聊天系统是使用 HTML 帖子的基于浏览器的聊天系统,但由于您已经拥有多播,您可以将侦听器与广播结合在一个程序中。这里有一些简单的灵感:ntrg.cs.tcd.ie/undergrad/4ba2/multicast/antony/example.html
  • 是的,这就是我要做的 - 将听众和广播结合起来。感谢您的链接!

标签: c++ udp client-server multicast


【解决方案1】:

您可以使用一个或两个套接字,这完全取决于您是否希望绑定到特定的网络适配器以及您是否希望使用单播和广播数据包。管理一个发送和一个接收通常更容易。

要侦听同一主机上发送的多播数据包,请检查 IP_MULTICAST_LOOP 套接字选项,注意它在 Windows 和 Unix 上的应用不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    相关资源
    最近更新 更多