【发布时间】:2011-02-09 08:10:01
【问题描述】:
我有一个具有这种结构的服务器应用程序: 有一个对象,称为服务器,它在无限循环中侦听并接受连接。 我有来自 CAsyncSocket 的后代类,它覆盖了事件 OnReceive,称他为 ProxySocket。 我还有一个带有早期创建线程的线程池。
当服务器对象接收到连接时,他接受新对象 ProxySocket 上的新连接。
当数据到达 ProxySocket 时,他创建一个命令对象并将其提供给线程池。在这个命令对象中,我给出了 ProxySocket 的套接字句柄。当创建新的命令对象时 - 我在工作线程中创建一个新的 Socket 并将句柄附加到它。
我的问题是下一个:
当命令结束时,套接字并没有关闭,我只是按照计划将它的句柄分离并将 CSocket 句柄设置为 INVALID_SOCKET 值。但是我的第一个 ProxySocket 对象在那之后没有收到新数据接收的消息。我该如何解决这个问题?
【问题讨论】:
标签: c++ sockets mfc multithreading threadpool