对于TCPListener服务器,我应该去Web服务还是Windows服务?

时间:2011-09-07 14:26:52

标签: c# asp.net web-services windows-services tcplistener

我必须开发一种服务,通过TCPListener继续通过GPRS监听广播的消息。

我应该使用哪种项目类型,Windows服务或Web服务?

如果可能,您可以提供简短的代码示例吗?

1 个答案:

答案 0 :(得分:2)

术语“Web服务”通常是指在端口80上侦听标准HTTP请求的系统,通常使用SOAP,JSON或普通旧XML。 Microsoft提供了几个框架来发布和使用.NET中的Web服务,包括WCF,IIS,并通过tcplistener滚动自己的。

“Windows服务”是一个长期存在的过程,可以在系统启动时自动启动。服务本身并没有任何内在的沟通机制:你必须自己编写。

因此,您需要考虑GPRS系统将使用哪种通信协议。如果它正在广播例如HTTP POST数据,然后在IIS上托管的WCF端点可能是最简单,最快捷的方式。

或者,如果您的GPRS系统通过已知端口进行TCP数据包的低级广播,您很可能想要创建Windows服务,然后在服务启动时创建tcplistener

用于创建Windows服务的Visual Studio向导将为您提供创建服务启动时执行的代码所需的脚手架。这里有一个很好的演练:http://www.csharp-examples.net/create-windows-service/