C++ 一次完成多个任务?(结合GUI相关功能以执行某些流程)

C++ 一次完成多个任务?(结合GUI相关功能以执行某些流程),c++,winapi,user-interface,console-application,winsock,C++,Winapi,User Interface,Console Application,Winsock,如果标题听起来有点不对劲,我很抱歉,但为了进一步说明,这是我的问题-基本上我编写了一个简单的Winsock服务器,它在连接的客户端之间传递信息文本消息这是控制台应用程序。现在,对于这个程序,我尝试将从中学到的知识与客户端程序结合起来。现在我有点超前了,我继续写UI的基本外观,但现在我不知道如何将两者结合起来?。据我所知:|控制台应用程序从上到下顺序运行,而UI则在屏幕上连续绘制窗口并等待发生什么。所以,为了最后一点,我该如何将它们结合起来呢??。我对此很反感。GUI通过事件驱动的消息循环工作。该

如果标题听起来有点不对劲,我很抱歉,但为了进一步说明,这是我的问题-基本上我编写了一个简单的Winsock服务器,它在连接的客户端之间传递信息文本消息这是控制台应用程序。现在,对于这个程序,我尝试将从中学到的知识与客户端程序结合起来。现在我有点超前了,我继续写UI的基本外观,但现在我不知道如何将两者结合起来?。据我所知:|控制台应用程序从上到下顺序运行,而UI则在屏幕上连续绘制窗口并等待发生什么。所以,为了最后一点,我该如何将它们结合起来呢??。我对此很反感。

GUI通过事件驱动的消息循环工作。该消息循环将传入事件分派给函数调用。因此,如果您按下一个按钮,就会调用一个函数,然后可以调用例如networksend函数。如果需要发送或接收大量数据,则应仅为网络内容创建单独的线程和消息循环,以便GUI保持响应。

在哪里可以找到有关线程的更多信息?。对于初学者,您有什么建议?如果您只传输少量数据,并且网络延迟不太高,也可以不使用线程。您可以将重叠I/O与Win32 API一起使用。根据你的心态,这可能比线程更容易或更难。对于重叠I/O,当数据可用时,Windows将呼叫您。另一个解决方案是WSAAsyncSelect,它告诉Windows向HWND发送消息。