Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > C/C++: Сетевое программирование > Как в с++под windows создать событие поступления данных в сокет


Автор: izumov 03.08.23, 18:30
Интересует литература и примеры кода.Событие нужно для того чтобы вызывать функцию получения данных сокета,их получения и последующей обработки.

Автор: kolobok0 20.08.23, 12:00
Цитата izumov @
..Событие...получения данных сокета...

Что в Вашем понимании есть данные? Для сетевой матрёшки - каждый вложенный уровень есть данные которые передаются на более вышестоящий уровень. Каждый уровень вложенности специфицируется интерфейсом. Например IP уровень ничего не знает о передаваемых данных внутри - и что там UDP, TCP или ещё что-то = фиолетово. Посему как минимум вам нужно определиться с интересующим вас уровнем вложенности.

По общей структуре работе с сокетами.
- подготовка/инициализация сокета
- синхронный опрос/ожидание или асинхронныое обслуживание
- получение самих данных из сокета

Как сказано выше может быть работа синхронная и асинхронная.
Синхронная - мы тупо ждём поступления данных на сокет
Асинхронная - мы ассоциируем с сокетом некий хэндлер и можем ожидать(контролировать) события которые будет кидать логика сокета при поступлении или иных событиях на нём

Осадок:
Вы определяетесь с протоколом который Вам интересен. Например TCP. Гуглите по нему (например) синхронный приём данных. Будет тонна примеров.

Предупреждение:
Практика приёма на работу "специалистов C/C++" выявляет зачастую не понимание отличий чем отличается TCP от UDP. Так, что больше изучения, практики и работа головой.

(круглый)

Автор: Oleg2004 22.08.23, 18:03
Здесь на форуме есть библиотека всяких учебников, статей и прочая. Там есть моя тоооооооолстая книга-конспект по сетевому программированию. Ну и про события на сокете там тоже есть ...
Если не найдете давайте свое мыло и я вам вышлю на почту.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)