如何在一个程序中实现客户端-服务器udp多播?

发布于 2024-11-08 07:31:00 字数 228 浏览 0 评论 0原文

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

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

我正在使用c++。

I have written a server and a client both as separate apps. They communicate through UDP Multicast (becouse I need that everyone who joins the group can read & write messages). Now I have two windows, but my aim is to create one simple chat program, but I don't know how to listen and send at the same time. Do I need to create 2 sockets? Or can I use just one? I've even tried to merge both apps in one, but I didn't succeeded (I know, I know.. but I was kinda desperate).

I've searched google for a tut, but didn't succeeded.

I'm using c++.

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

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

发布评论

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

评论(1

你与清晨阳光 2024-11-15 07:31:00

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

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

You can use one or two sockets, it all depends on whether you wish to bind to a particular network adapter and whether you wish to use unicast & broadcast packets. It is often easier to manage one for sending and one for receiving.

To listen to sent multicast packets on the same host check the IP_MULTICAST_LOOP socket option, noting it applies differently on Windows to Unix.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文