2011-05-18 70 views
1

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

我已经搜索谷歌的啧啧,但没有成功。

我正在使用C++。

+0

让一台服务器连接多个相互发送消息的客户端有什么不对?这对于一个好的答案有点太模糊,不知道你现在实施了什么以及你的需求是什么...... – AJG85 2011-05-18 20:01:38

+0

我有一个局域网,有10-12个客户端,我们只需要一个简单的聊天程序,我们不需要不需要服务器,只需一个简单的应用。我希望我很清楚。对不起,我的语言,不是母语,所以也许这就是为什么我的帖子是如此神秘:) – r00m 2011-05-18 20:19:03

+0

好,以明确你可以只使用Skype这样的免费程序,但我指的是你的项目的编码要求和你的细节目前已经实施。您可以实现的最简单的聊天系统是基于浏览器的使用HTML帖子,但由于您已经有多播,您可能能够在一个程序中将侦听器与广播组合在一起。这是一些简单的灵感:http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/antony/example.html – AJG85 2011-05-18 20:26:32

回答

1

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

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

+0

好的,谢谢。我会检查出来的! – r00m 2011-05-18 20:47:03