2011-08-15 194 views
0

我正在尋找一個庫/框架,使我輕鬆地實現這一點:網絡圖書館遊戲

  • 最小消息大小(最好是這樣 - [16位消息ID] + [可變長度消息參數])。
  • 需要儘可能少的管道代碼。
  • TCP通信。
  • 輕鬆處理數十個連接。
  • 雙向通信。

我想使用類似WCF的方法,其中我將創建契約(操作和數據)並將與客戶端和服務器共享該程序集。或者也許有一些我可以使用的簡約裝訂 - 甚至比NetTcpBinding更輕?

+1

實現這一目標,我認爲你將不得不直接使用的System.Net.Sockets ...如果你把這個與應顯著處理自定義序列超過數十個連接 – Yahia

回答

1

對於協議格式,我會去了解一下Google's ProtoBuffers。有numerous languages支持,including C#。序列化小,速度快,擴展性強,易於升級版本。

就運輸而言,這可能會更困難。坦率地說,.NET的WCF不能勝任這項任務。基於套接字構建的原始TCP/IP難以正確管理。即使建立在TcpListener可以證明是困難的,但它是可能的。

那麼最好的方法是什麼?那麼考慮到雙向需求,這很難回答。我不確定我可以指向任何一個圖書館,並說它有正確的答案。有幾種可用的,都有其優點和缺點。很多將取決於您的項目的更具體的要求。祝你好運;)