Информация об изменениях

Сообщение Re[3]: Про HTTP-сервер для Unix на основе сокетов от 25.01.2022 7:20

Изменено 25.01.2022 7:23 m2l

Re[3]: Про HTTP-сервер для Unix на основе сокетов
Здравствуйте, Marty, Вы писали:

m2l>>А WSA — "windows socket api", всё имеющее этот префикс в Unix отсутствует. Хотя сами функции во делались на основе сокетов Unix-а, и во многих местах схожи.


M>В винде вполне себе совместимое бсд сокет апи. А WSA* — это уже про асинхронщину, и про то, чтобы кинуть окошку сообщение, если что-то на сокет пришло, и тд, и тп. На голых сокетах асинхронщина делается также, как и в *никсах. Хотя poll/epoll нет, но оно и в *никсах не всегда бывает. Аналога WSA* в голых *никсах нету никакого.


А с чём ты не согласен в моём утверждении?
BSD-совместимое? Да, но это socket/recv/send, а не WSASocket/WSASend/WSARecv что хорошо видно по их сигнатурам. При этом, пре передаче 0/NULL в доп-параметры WSA* они ведут себя почти так-же, как socket/recv и т.д — поэтому утверждение, что WSA* про асинхронщину — ложное. Что аналога нет я написал в первом предложении.
Re[3]: Про HTTP-сервер для Unix на основе сокетов
Здравствуйте, Marty, Вы писали:

m2l>>А WSA — "windows socket api", всё имеющее этот префикс в Unix отсутствует. Хотя сами функции во делались на основе сокетов Unix-а, и во многих местах схожи.


M>В винде вполне себе совместимое бсд сокет апи. А WSA* — это уже про асинхронщину, и про то, чтобы кинуть окошку сообщение, если что-то на сокет пришло, и тд, и тп. На голых сокетах асинхронщина делается также, как и в *никсах. Хотя poll/epoll нет, но оно и в *никсах не всегда бывает. Аналога WSA* в голых *никсах нету никакого.


А с чём ты не согласен в моём утверждении?
BSD-совместимое? Да, но это socket/recv/send, а не WSASocket/WSASend/WSARecv что хорошо видно по их сигнатурам. При этом, при передаче 0/NULL в доп-параметры WSA* они ведут себя почти так-же, как socket/recv и т.д — поэтому утверждение, что WSA* про асинхронщину — ложное. Что аналога нет я написал в первом предложении. И, если уж на то пошло, то там есть мелкие различия поведения вроде shutdown/close и close или с работой того же select, к которому ты апеллируешь. Насчет poll — мягко скажем, лучше обходить стороной, а epoll есть только в Linux, но зато во всех мейнстримных дистрибутивах последних 10+ лет.