2010-04-09 33 views
-3

我想做一個P2P聊天客戶端,我希望它做的就是能夠發送文本到每個對端。幫忙做一個C#P2P聊天程序

我看着聊天客戶端從這個例子: http://www.geekpedia.com/tutorial239_Csharp-Chat-Part-1---Building-the-Chat-Client.html

,我想知道,如果它可以被轉換成一個P2P程序? 如果是這樣,它會怎麼樣,有人可以提供一些代碼,因爲它會幫助很多。

如果它不能如何做一個非常簡單的p2p聊天程序?代碼和示例將非常有幫助。

順便說一句我沒有看這篇文章,但它並沒有幫助我: http://msdn.microsoft.com/en-us/library/ms751502.aspx

+2

這超出了StackOverflow問題的範圍。 – SLaks 2010-04-09 18:29:06

+0

-1:這不是一個問題,這是一個請求。 – ANeves 2010-04-09 18:54:50

回答

-2

對於P2P,你需要使用UdpClient代替的TcpClient。谷歌應該從這裏幫助你:)

編輯:對不起,我在這個答案做出錯誤的假設。如果你想繼續使用TCP,那就好了。而不是創建一個單獨的服務器應用程序,請將服務器代碼添加到您的客戶端應用程序,以便發送者或接收者充當服務器。

+1

沒必要爲P2P應用程序使用UDP。 – TJMonk15 2010-04-09 18:31:09

+0

爲什麼UDP在這種情況下更好?你可以發表一些參考嗎? – IVlad 2010-04-09 18:33:44

+0

根據您的方案,您可以同時使用TCP和UDP。如果其數據傳輸不能承受數據丟失,那麼TCP更適合。如果您正在傳輸音頻或視頻,並且可以容忍一定數量的數據丟失,那麼您可以使用UDP,因爲它不能保證可靠的數據傳輸,因此速度更快。 – jaxvy 2010-04-09 18:36:09

0

我做了一次類似的項目,只使用藍牙而不是互聯網。
我的聊天不是IM,因爲它只允許兩個人交談,但我們通過在brydgesk的編輯中使用技巧並讓客戶端('talker')和服務器('listener')得到它的工作。在同一個應用程序中,以這種方式,服務器只將接收到的消息發送給本地客戶端,而不是轉播到所有連接。

希望這一點是有幫助的,我不認爲這是真正的地方來幫助你寫出整個應用程序。

+0

感謝它確實幫助我理解,我並沒有真的要求在這裏寫出一大塊代碼,只是我能做的一小部分。 – 2010-04-09 19:06:48