2011-12-29 89 views
1

美好的一天,我可以問一些關於peer 2 peer chat application的內容。是否有可能在沒有任何服務器的情況下構建對等2對等聊天應用程序?如果可能的話,它是如何工作的?簡單的點對點聊天應用程序

+1

可能通過局域網只我認爲 – Moonlight 2011-12-29 14:17:19

+0

幾天前你問了這個問題,這是關閉,然後可能刪除。 – Yuck 2011-12-29 14:19:04

+0

檢查這一個:http://www.dreamincode.net/forums/topic/44108-serverless-lan-chat-application-best-practices/ – 2011-12-29 14:19:56

回答

3

是的,這是可以與.NET框架。我只做了一個有趣的項目,只有兩個聊天夥伴,而且只通過局域網。

我是用TcpListnerClass做成的。希望這有助於開始。

+0

它可以與多臺計算機或超過2個用戶一起使用嗎?我用3臺電腦嘗試它,但它只適用於兩臺和三臺電腦無法聯合對話。還有什麼我應該做的,所以第三臺電腦可以加入談話? – Eric 2011-12-29 14:41:40

+1

@Eric - 如果您使用TCP,您需要管理不同線程上的對等連接,並且如果您希望從對等A發送的消息去往對等B和對等C,那麼您需要明確地將它發送給它們單獨(除非你設置了一個多播組)。 – 2011-12-29 14:57:45

3

正如tobivo所說,這絕對有可能。 Here是Microsoft使用P2P通道通過WCF執行的一個示例。

如果你打算從頭開始構建它,我會推薦使用UDP而不是TCP,因爲消息傳遞是輕量級的,並且如果需要使用UDP廣播實現自動對等發現是微不足道的。要做到這一點,您可以直接使用UDPClient類或更細粒度控制Socket類。

1

此應用程序here是用C#,WCF和WPF編寫的。我相信這是你正在尋找的。它使用PNRP在沒有服務器的情況下進行連接。