2011-10-03 102 views
2

我目前正在爲我的一些朋友寫一個簡單的應用程序。 有一個非常小的部分,其中包含一些客戶端 - 服務器通信。像http這樣的協議遠遠超過了我不需要的不必要的東西。最簡單的方法來實現一個極端簡單的服務器? (C#)

這是我需要實現所有通信:

(Request -> Response) 
* {AccountID} -> {AccountBalance} 
* {AccountID,newBalance} -> {AccountBalance} 
* {AccountID,ItemID,Amount} -> {AccountBalance} 
* {ItemID} -> {ItemValue} 

所有的值都是整數。 AccountID和ItemID是有區別的。 AccountBalances和ItemValues總是正面的。

由於應用程序將只用於私有LAN安全並不重要。

我已經嘗試過使用httpListener,但它似乎不適合我的需要。

+0

爲什麼沒有httpListener爲你工作? –

+0

我仍然試圖找出爲什麼我的httpListener解決方案無法正常工作。但是因爲WCF似乎正是我需要的東西,所以我很高興我在這裏問過。據我瞭解HTTP它從來沒有被設計爲發送/接收這樣的Datagrams(除非你願意xml序列化的一切),所以使用WCF將是一種風格的改進。 – samjaf

回答

3

您應該考慮通過WCF提供這些方法。這是實現你想要的最簡單的方法。

A Simple Sample: WCF Service

+2

+1 - 你可以在沒有代碼的情況下敲一個簡單的WCF服務(沒有安全和默認設置),爲什麼重新發明輪子? – MarcE

+0

從來沒有聽說過WCF(我不是專業人士)。你會如此善良,並提供一些鏈接來介紹如何使用WCF?我衝過msdn,發現很多東西,看起來就像我需要的東西。但到目前爲止我發現的所有代碼都只是片段。你能指點我一個完整的民主黨嗎? – samjaf

+0

我發現這是一個相當有用的介紹:http://invalidcast.com/2010/04/a-gentle-introduction-to-wcf –

0

隨着音符從哈桑WCF答案是實現最快,最簡單的協議。

如果你想要更低級別的東西並且自己解析位和字節TcpClient是要走的路。

+0

我試過TcpClient,它以某種方式工作。但是我認爲如果有什麼方法可以使用已有的解決方案,你就不應該實現你自己的「protocoll」。 – samjaf

相關問題