在Visual Studio中创建非GUI服务器应用程序

时间:2012-10-25 08:29:40

标签: c++ visual-studio-2010 sockets mfc serversocket

我在基于C ++ MFC的Visual Studio中做了一个Server Socket项目。现在,在调试项目之后,服务器GUI打开,然后在服务器GUI上单击 CONNECT 按钮后,您可以将客户端连接到该服务器,依此类推。

现在我想在其他计算机上使用该服务器exe文件。因此,无论何时该计算机启动,该服务器exe都会自动启动。所以为此我需要禁用连接按钮,以便在调试后,服务器GUi自动打开并连接。但我不希望服务器GUI在自动启动中的另一台计算机上打开。我想禁用该服务器GUI。

我知道无模式对话框可以使用它。它是好还是我应该使用什么方法?

2 个答案:

答案 0 :(得分:3)

您可能希望将应用程序的GUI部分和服务器部分分开。理想情况下,如果您的服务器实际上是服务器,则应将其作为 service 启动。然后你将有单独的GUI工具来控制它。

另一种方法是使用命令行参数来确定是否应在启用或禁用GUI的情况下启动服务器。

答案 1 :(得分:1)

这种应用程序唯一专业和稳定的解决方案是将其分解为控制台部分,您可以将其置于服务控制的控制之下,以及用户可以随时启动的gui部分。

我尝试过像你这样的解决方案,所以我可以根据自己的经验告诉你,你会遇到很多问题。

然而,一个可能的解决方案是隐藏窗口,lay the app down to systraythis是一个关于隐藏窗口的非常有趣的讨论。

另外,对于MFC,我有两个好的建议:

  1. 永远不要只是“复制过去”代码而不知道MFC在后台做什么(Win32api)。
  2. 请勿使用MFC。当你需要windows时,仔细看看QT或wxWidges,快速封装win32api也看看boost库。这真的值得花时间!
  3. 祝你好运!