2011-04-24 97 views
2

我一直想在C#中學習TCP或UDP(雖然我聽說UDP很爛),但我永遠找不到任何可以教導它的教程。我的意思是,我已經使用了教程來指出結果甚至不再相關。幾乎所有我遇到的教程都解釋TCP,就好像我已經知道它,或者他們引入了術語,但從不解釋它們。幾個月後,我完全沒有進展。這裏有幫助嗎?需要C#服務器/客戶端風格程序的幫助

注意:我不是初學者程序員,我有製作程序的經驗。這只是那裏的TCP教程而已。

+0

你能給一個你想寫的應用程序的具體例子嗎?另外,任何讓「蹩腳論」等蹩腳論點的教程顯然是由不懂網絡的人寫的。最好不要讀那些。 – 2011-04-24 17:07:09

+5

UDP不會吮吸,它只是用於不同的目的。他們都有自己的位置。 – Mikecito 2011-04-24 17:07:35

+0

我想寫一個應用程序的例子?那麼,沒有什麼具體的想法。我想只是一個簡單的,將數據發送到服務器,然後將數據發送回所有客戶端。只是爲了幫助我解決這個問題。 – Csharper 2011-04-24 17:12:42

回答

0

我認爲這是很難找到TCP和UDP教程,特別是因爲他們是特定的協議(雖然很頻繁使用)和微軟正試圖抽象所有這些概念,使您的應用程序不依賴的基礎技術。

現在,你會被建議使用Windows Communication Foundation(WCF);並且您有大量來自MSDN或beginner's guide的資源。

順便說一句,學習 TCP不能通過教程來完成,但有一本關於網絡的書,如this one。如果你這樣做,你也會知道爲什麼UDP不會「吸」......

0

沒有Cä#toutorial的原因是因爲它不是必需的。你基本上會問:「有沒有課程告訴我駕駛奔馳時街道上的規則如何?」提示:有關如何在街道上駕駛的規則,theree是一輛奔馳車的手冊。

或者:有關於IP協議的書籍,然後是.NET文檔,它是如何實現.NET的。如果您希望在編程領域不僅僅是初級階段,那麼更好地習慣將抽象概念分開學習,並且不要期望每個簡單步驟都有完整的「howto」。

現在,TCP/UDP是完全獨立的項目。它們都擴展了TCP,它們有着非常不同的用途。說「udp sucks」對於我所知道的很多程序來說都是無知的,而這些程序絕對不會與TCP協同工作,並且需要UDP的快速和簡單的數據分發(這對TCP來說也是支持多播的)。目前我的大部分流量都是基於UDP的,因爲udp不會卡在丟失的數據包上,而且使用專門的更高級別(應用程序級別)協議可以輕鬆地重新列出數據包。 TCP有一個非常糟糕的習慣,即在丟失數據包時長達3分鐘。有時(如:財務數據,voip)這是不可接受的。大多數程序都喜歡簡單的TCP處理,但它的價格很高。

3

您可能正在搜索錯誤的關鍵字。關鍵字是插座。 TCP/IP編程API在包括.NET在內的幾乎所有平臺上都稱爲套接字。

0

UDP是不同的野獸。

然而,我發現這是一個出發點非常有用:TCP/IP tutorial

+0

哈喲,貼了相同的鏈接:P – Statement 2011-04-24 17:59:01

0

我已經寫了一些基於.NET的TCP/IP的帖子on my blog

它們不是教程;相反,他們是關於常見錯誤的一些文章。我建議在瞭解教程後閱讀它們。我還列出了resources section下的幾本很好的TCP/IP書籍。