CSocket программирование - PullRequest
1 голос
/ 21 июня 2011

Я пишу код о системе, состоящей из сервера, обрабатывающего несколько клиентских подключений.

https://docs.google.com/drawings/d/1IeZBO9jqxbXcZPvX6bsAjcM8O3L9KJW7C8UVELa-jUM/edit?hl=en_US
Ссылка выше - это изображение с кратким представлением о том, как это работает


На сервере я использую производный от CDocument класс для управления объектами и данными сокетов, поскольку на моем компьютере установлено несколько сетевых адаптеров, мне нужен список ссылок для управления прослушивающими сокетами сервера.

У меня нет проблеминициализации сокетов для различных адаптеров. Но я столкнулся с проблемой передачи запроса подключения в список клиентских сокетов. Я могу переопределить функции уведомления (например, OnRecieve, OnAccept), но я не знаю, как ссылаться на действие в сокете(например, изменение данных класса документа на полученные данные) обратно в класс документа.

Я использую VS2010 в Windows 7 Ultimate.

Большое спасибо.

1 Ответ

0 голосов
/ 03 ноября 2011

Вы не должны создавать CSocket напрямую, а наследовать класс

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

Тогда никогда не создавайте CSocket, но всегда ваш CMySocket с m_doc, установленным для вашего документа.Таким образом, вы можете получить доступ к документу из сокета.

...