Как заставить winsock прослушивать определенный порт? - PullRequest
1 голос
/ 13 сентября 2009

Это должно быть действительно очевидно, но как заставить winsock прослушивать определенный порт (получать данные?) Я не могу найти метод, который позволяет мне это делать!

Извините, что это, вероятно, так очевидно.

Я пытаюсь создать приложение для чата, которое, очевидно, работает в настройке сервера / клиента.

Ответы [ 2 ]

1 голос
/ 13 сентября 2009

При использовании TCP-сокетов вы связываете, слушаете и принимаете, и в конечном итоге получаете. Вы можете найти несколько руководств по здесь или проверить официальную документацию MSDN.

Winsock API основан на BSIX-сокетах UNIX; поэтому они очень, очень похожи. Возможно, вы захотите разобраться в этом. Недавно я написал книгу Ричарда Стивенса «Сетевое программирование UNIX» , написанную Ричардом Стивенсом, и он объясняет почти все, что нужно знать о сокетах.

Вы можете также рассмотреть возможность запуска сокетов в отдельном потоке для улучшения читабельности и производительности.

Редактировать: как для прослушивания на конкретном порту; это параметр sin.port вашей структуры SOCKADDR_IN.

1 голос
/ 13 сентября 2009

Вы связываете сокет, а затем слушаете и принимаете соединения. Более подробно описано в Начало работы с WinSock . Существует также хорошее руководство к разъемам BSD, которое вы также должны прочитать.

Для 101 Я оставлю все ссылки.
...