2011-06-21 39 views
1

我正在編寫有關包含處理多個客戶端連接的服務器的系統的代碼。

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派生類來管理套接字對象和數據的服務器,因爲我的電腦有多個網絡適配器,我需要一個鏈接列表來管理服務器監聽套接字。

我已經沒有問題,初始化套接字到不同的適配器。但是我遇到了將連接請求傳遞給客戶端套接字列表的問題。我可以覆蓋通知函數(例如OnRecieve,OnAccept),但我不知道如何將套接字中的動作(例如,將接收到的數據更改文檔類的數據)返回到文檔類。

我在Windows 7旗艦版上使用VS2010。

非常感謝。CSocket編程

回答

0

你不應該直接創建的CSocket,但派生類

CMySocket : CSocket { 
    CDocument *m_doc; // or CDocument &m_doc; 
} 

此後再也沒有創建一個CSocket對象,但總是與m_doc設爲您的文檔您CMySocket。這樣你可以從套接字訪問文檔。