Windows sockets: Уведомления сокета
Данный раздел описывает функции уведомления в классах сокета.Такие функции-члены функции обратного вызова, который платформа вызывает функцию для уведомления объекта сокета значительных фактов.Функции уведомления:
OnReceive: Уведомляет этот сокет, что данные в буфере, который будет извлекать путем вызова Receive.
OnSend: Уведомляет этот сокет, что он может отправлять данные путем вызова Отправить.
OnAccept: Уведомляет прослушивания сокета, что это может занять ожидающих запросов на подключение, вызвав Принять.
OnConnect: Уведомляет это при подключении сокет, что его попытка соединения завершилась: возможно успешно или возможности ошибке.
OnClose: Уведомляет это сокет, что сокет он подключен к закрыло.
Примечание Дополнительная функция уведомления OnOutOfBandData.Это уведомление при получении гнезду указывает, что отправляющий сокет имеет» отправить «экстренные данные.Экстренные данные логических независимый канал, связанный с каждой парой подключенных сокетов потока.Внештатно канал обычно используется» отправить «срочные данные.MFC поддерживает экстренные данные.Работая с классом CAsyncSocket опытные пользователи могут использовать внештатно канал, но пользователи класса CSocket обескуражиты от использования его.Более простой способ создать второй сокет для передачи такие данные.Дополнительные сведения о внеполосных данных см. в разделе спецификация Windows sockets, доступный в Windows SDK.
При наследовании от класса CAsyncSocket, необходимо переопределить функции уведомления для этих событий сети в процентах в приложение.Если необходимо создать производный класс от класса CSocket, то выбор ли переопределить функции уведомления.Можно также использовать CSocket самого, в этом случае функции уведомления по умолчанию не выполняя никаких действий.
Эти функции переопределяемые функции обратного вызова.CAsyncSocket и CSocket преобразования сообщений на уведомления, но необходимо реализовать как функции уведомления отвечает при необходимости их использования.Функции уведомления вызываются во время работы получил уведомление, когда сокет требуемые события, например наличие данных, которые необходимо считать.
MFC вызывает функции уведомления, чтобы было настраивать функциональности своего сокета на момент он получает уведомление.Например, можно вызвать Receive от используемой функции уведомления OnReceive, т е на получать уведомления об, что данные для чтения, вызовите Receive для чтения.Такой подход не является обязательным, но допустимый скрипт.В качестве альтернативы можно использовать вашу функцию уведомления, чтобы отслеживать ход выполнения и сообщения следование печати и т д
Можно воспользоваться преимуществами этих функций уведомлений уведомления путем переопределения в производном классе сокета и предоставление реализации.
Во время операции, такие как get или отправлять данные, объект CSocket является синхронным.При выполнении параллельного состояния очереди все уведомления значенные для других сокетов, когда текущее сокет ожидает уведомления она хочет.(Например, во время вызова Receive, сокет хочет уведомление чтения). Как только сокет выполняет свою синхронной операции и асинхронным, другие сокета могут начинаться получение уведомлений из очереди.
Примечание |
---|
В CSocket функция уведомления OnConnect никогда не вызывается.Для соединений, следует вызвать Подключить, которое будет возвращено, если соединение выполняется успешно или с ошибкой (или).Как уведомления соединения обрабатываются реализации MFC. |
Дополнительные сведения о каждой функции уведомления см. в описании функции с классом CAsyncSocket в справочнике по MFC.Для исходного кода и сведения об образцах MFC см. в разделе Примеры MFC.
Дополнительные сведения см. в следующих разделах.