最简单的方法来实现一个极端简单的服务器? (C#)

问题描述:

我目前正在为我的一些朋友写一个简单的应用程序。 有一个非常小的部分,其中包含一些客户端 - 服务器通信。像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

您应该考虑通过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 –

你也可以写你自己的基于TCP服务器/客户端 - 这是很简单的在C#中的事。

这使得合理exmple,那么你可以定制你的需求:

http://www.switchonthecode.com/tutorials/csharp-tutorial-simple-threaded-tcp-server

随着音符从哈桑WCF答案是实现最快,最简单的协议。

如果你想要更低级别的东西并且自己解析位和字节TcpClient是要走的路。

+0

我试过TcpClient,它以某种方式工作。但是我认为如果有什么方法可以使用已有的解决方案,你就不应该实现你自己的“protocoll”。 – samjaf