我正在写一个系统的代码,这个系统由一个服务器处理多个客户端连接组成。 https:/docs.google.comdrawingsd1IeZBO9jqxbXcZPvX6bsAjcM8O3L9KJW7C8UVELa-jUMedit?hl=en_US。 上面的链接是关于它的工作原理的简要想法的图片。 在服务器中我使用CDocument派生类来管理socket对象和数据,因为我的电脑有多个网络适配器,我需要一个链接列表来管理服务器监听socket。 我在初始化套接字到不同的适配器时没有问题。但我遇到了一个问题,就是如何将连接请求传递给客户端Socket列表。我可以覆盖通知函数(例如OnRecieve, OnAccept),但我不知道如何将套接字中的操作(例如用接收到的数据改变文档类的数据)引用到文档类。 我在Windows 7 Ultimate上使用VS2010。 谢谢您的指导。
你不应该创建 CSocket
直接导出一个类
CMySocket : CSocket {
CDocument *m_doc; // or CDocument &m_doc;
}
那就永远不要创造一个 CSocket
但总是你的 CMySocket
与 m_doc
设置为你的文档。这样你就可以从socket访问文档了。