编写Windows c++服务器作为服务或控制台应用程序
Writing Windows C++ server as service or console application
这需要讨论在Windows 7 32位上使用c++进行服务器开发的最佳实践
典型需求:
- 一个像"服务器"一样的程序,在Windows的后台运行。它应该运行几天,应该在每次启动时自动运行。
- 服务器通过TCP套接字协议处理来自其他设备(PC,智能手机,平板电脑)的传入客户端连接
- 服务器依次通过TCP和串行通信与连接在同一网络中的大量嵌入式设备进行通信
- 服务器作为b/w客户端(PC,智能手机,平板电脑)和嵌入式设备的桥梁
服务器管理员可以通过configuration .ini文件配置服务器,然后启动服务器。
到客户端的接口是TCP套接字接口,客户端发送命令,服务器返回buffer (xml)回复我的问题:
-
我应该把程序写成一个"服务"吗,比如http://code.msdn.microsoft.com/windowsdesktop/CppWindowsService-cacf4948
-
或者我应该写一个控制台应用程序并从XYNTService http://mysite.verizon.net/XiangYangL/XYNTService.htm控制这个可执行文件,这样它就像一个服务
-
或者一个控制台应用程序,它在注册表中的条目在登录时开始,重新启动
从上面选择哪个选项真的重要吗?
这正是服务要使用的用例,所以让它成为一个服务。
为方便调试,添加一个命令行选项,将其作为控制台进程启动。
相关文章:
- C++:将控制台输出存储在宏中更好吗
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- C++控制台应用程序阻止退出
- 如何修复此iFile以将.txt输出到控制台
- 为什么控制台要求输入,即使代码中没有输入
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- 检测win32服务创建和删除的最佳方法
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 使用 mod_gsoap 部署服务时,如何在 Gsoap 中更改 soap 上下文的模式?
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 控制台输出在 Qt5 中未正确显示
- C++出现控制台错误.我无法识别源代码的问题
- C++程序不会从 Windows 控制台运行
- gRPC 生成的代码缺少服务实现
- 如何读取windows服务启动的控制台应用程序的输出
- 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行
- 来自 c++ 服务的 CreateProcessAsUser 创建进程,但没有控制台
- 将控制台应用程序制作成服务
- 编写Windows c++服务器作为服务或控制台应用程序