【发布时间】:2011-11-12 05:29:34
【问题描述】:
我必须开发一项服务,该服务将通过 TCPListener 持续监听 GPRS 上的广播消息。
我应该使用哪种项目类型,Windows 服务还是 Web 服务?
如果可能,您能否提供一个简短的代码示例?
【问题讨论】:
标签: c# asp.net web-services windows-services tcplistener
我必须开发一项服务,该服务将通过 TCPListener 持续监听 GPRS 上的广播消息。
我应该使用哪种项目类型,Windows 服务还是 Web 服务?
如果可能,您能否提供一个简短的代码示例?
【问题讨论】:
标签: c# asp.net web-services windows-services tcplistener
术语“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/。
【讨论】: