這是我第一次使用P2P,我需要一些關於設計的幫助。編寫一個簡單的P2P聊天應用程序
我正在開發一個簡單的消息應用程序。我有一個目錄服務器,每個用戶在該目錄服務器上進行身份驗證並通告每個用戶都可以訪問的開放端口。目錄服務器維護用戶和端口,我可以查詢任何特定用戶的目錄服務器。這部分完成了。第二部分是我認爲應該是P2P的聊天。我可以開始聊天以及我可以作爲聊天的終點(客戶端以及服務器)
什麼令我困惑的是我該如何處理P2P?我是否創建兩個不同的套接字?我正在偵聽TCP請求傳入連接,並從另一個偵聽TCP請求開始聊天。
在這種情況下,我需要3個套接字,一個與服務器通話,另一個與P2P通話?
你應該可以接收和發送同一個套接字,所以我會說1個連接到服務器,然後每個聊天1個連接。 – 2012-01-03 22:37:48
如果你瀏覽'p2p'標籤,你會發現很多人最近都問過這個確切的問題 - 他們中的大多數人都希望在C#中使用解決方案。出於興趣,這是來自課程/家庭作業嗎?目前對P2P聊天感興趣的人數對於這樣的利基領域非常高,imo。 – halfer 2012-01-03 23:58:49
我同意羅伊 - 兩個插座。實際上你可能只需要一個,因爲目錄套接字只需定期打開更新。這將是非常昂貴的 - 就打開連接到服務器而言 - 讓它永久打開。 – halfer 2012-01-04 00:01:45