我正在编写关于由处理多个客户端连接的服务器组成的系统的代码。
https://docs.google.com/drawings/d/1IeZBO9jqxbXcZPvX6bsAjcM8O3L9KJW7C8UVELa-jUM/edit?hl=en_US
The link above is the image about the brief idea of how it works
在服务器中,我使用CDocument派生类来管理套接字对象和数据,因为我的计算机有多个网络适配器,我需要一个链接列表来管理服务器侦听套接字。
我没有将套接字初始化为不同适配器的问题。但是我遇到了将连接请求传递给Client Socket列表的问题。我可以覆盖通知函数(例如OnRecieve,OnAccept)但我不知道如何将套接字中的操作(例如将文档类的数据与接收到的数据一起更改)引回到文档类。
我在Windows 7旗舰版上使用VS2010。
非常感谢你。
答案 0 :(得分:0)
你不应该直接创建CSocket,而是派生一个类
CMySocket : CSocket {
CDocument *m_doc; // or CDocument &m_doc;
}
然后永远不要创建一个CSocket,但总是将m_doc设置为您的文档的CMySocket。这样您就可以从套接字访问该文档。