2011-09-17 46 views
1

幾年前,當編寫一個簡單的pong遊戲服務器時,我使用TCPClient並引用了一些.NET Framework 101代碼示例頁面,其中包含使用.NET Framework 1.1或2.0編寫的服務器和客戶端程序的示例。我還應該使用TCPClient來寫服務器還是有更好的出現?

我需要寫另一個服務器,我想知道是否有更好的使用現在。我記得代碼很低級,有很多try-catches和boiler-plate代碼。

.NET Framework 2.0,3.0,3.5或4.0在實現簡單的客戶端服務器程序方面是否有任何進步?那麼簡單的用戶創建的包裝器呢?

順便說一句,我不一定反對使用TCPClient類。我只是想知道是否還有其他任何東西來進一步抽象類和/或促進創建一個服務器程序。

+2

嘗試使用WCF。這是你不應該重塑的車輪。 –

+0

@John:你有任何代碼示例嗎?我沒有使用ASP,Google也沒有多少回覆C#和WCF。 –

+0

完全同意 - 在Bing上搜索「C#nd WCF」,在谷歌上搜索3千萬以上,超過1100萬。 :) –

回答

0

WCF是一個不錯的選擇。它給你很大的靈活性和力量。這裏有一個簡單的入門指南:MSDN Documentation - Getting Started with WCF。這blog post from Switch on the Code更直接。

另一種選擇是使用C#綁定到開源項目0MQ。它可以在沒有太多開銷的情況下提取套接字的複雜性,併爲您提供大量的功能。從0MQ中的100個字節開始:

ØMQ(ZeroMQ,0MQ,zmq)看起來像一個可嵌入的網絡庫,但其行爲類似於併發框架。它爲您提供套接字,可以傳輸跨越各種傳輸(如進程內,進程間,TCP和多播)的全部消息。您可以使用扇出,發佈 - 訂閱,任務分發和請求回覆等模式將套接字N連接到N。它足夠快成爲集羣產品的結構。它的異步I/O模型爲您提供可擴展的多核應用程序,構建爲異步消息處理任務。它擁有多種語言API,可在大多數操作系統上運行。 ØMQ來自iMatix並且是LGPL開放源代碼

相關問題