将Windows C ++服务器编写为服务或控制台应用程序

这需要讨论在Windows 7 32位上使用C ++进行服务器开发相关的最佳实践

典型要求:

  1. 一个像“服务器”一样在后台运行的Windows程序。 它应该运行几天,应该在每次启动时自动运行。
  2. 服务器处理从其他设备(PC,智能手机,平板电脑)通过TCP套接字协议传入的客户端连接,
  3. 服务器通过TCP和串行通信与大量连接在同一networking中的embedded式设备进行通信
  4. 服务器充当桥接黑客(PC,智能手机,平板电脑)和embedded式设备

服务器pipe理员可以通过configuration.ini文件configuration服务器,然后启动服务器。

到客户端的接口是TCP套接字接口,客户端将发送命令和服务器inturn将回复缓冲区(XML)我的问题:

  1. 我应该写程序作为一个“服务”,如http://code.msdn.microsoft.com/windowsdesktop/CppWindowsService-cacf4948

  2. 或者我应该写一个控制台应用程序,并从XYNTService http://mysite.verizon.net/XiangYangL/XYNTService.htm控制此可执行文件,以便它像一个服务

  3. 或者是一个控制台应用程序,在registry中login时重新启动

这实际上是重要的,从上面select哪个选项?

提前谢谢了。

这正是服务所用的用例,所以把它变成服务。

为了更容易的调试,添加一个命令行选项来启动它作为控制台进程。