我正在尋找一個庫/框架,使我輕鬆地實現這一點:網絡圖書館遊戲
- 最小消息大小(最好是這樣 - [16位消息ID] + [可變長度消息參數])。
- 需要儘可能少的管道代碼。
- TCP通信。
- 輕鬆處理數十個連接。
- 雙向通信。
我想使用類似WCF的方法,其中我將創建契約(操作和數據)並將與客戶端和服務器共享該程序集。或者也許有一些我可以使用的簡約裝訂 - 甚至比NetTcpBinding
更輕?
我正在尋找一個庫/框架,使我輕鬆地實現這一點:網絡圖書館遊戲
我想使用類似WCF的方法,其中我將創建契約(操作和數據)並將與客戶端和服務器共享該程序集。或者也許有一些我可以使用的簡約裝訂 - 甚至比NetTcpBinding
更輕?
對於協議格式,我會去了解一下Google's ProtoBuffers。有numerous languages支持,including C#。序列化小,速度快,擴展性強,易於升級版本。
就運輸而言,這可能會更困難。坦率地說,.NET的WCF不能勝任這項任務。基於套接字構建的原始TCP/IP難以正確管理。即使建立在TcpListener可以證明是困難的,但它是可能的。
那麼最好的方法是什麼?那麼考慮到雙向需求,這很難回答。我不確定我可以指向任何一個圖書館,並說它有正確的答案。有幾種可用的,都有其優點和缺點。很多將取決於您的項目的更具體的要求。祝你好運;)
Lidgren.Network是一個非常簡單的庫,它很容易集成到任何項目中。我已經嘗試了一下,它很容易使用。試一試。
你可能想看看光子http://www.exitgames.com/
實現這一目標,我認爲你將不得不直接使用的System.Net.Sockets ...如果你把這個與應顯著處理自定義序列超過數十個連接 – Yahia