2011-05-18 13 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