Чем в Windows и Linux отличаются представления сокета?

В Linux сокет представлен файловым дескриптором типа int. В Winsock используется SOCKET; его нельзя безусловно считать обычным файловым дескриптором или хранить в int.

Короткий ответ

Что ответить на собеседовании

В Linux сокет представлен файловым дескриптором типа int. В Winsock используется SOCKET; его нельзя безусловно считать обычным файловым дескриптором или хранить в int.

Подробный разбор

Ответ с пояснениями

В Linux сокет представлен файловым дескриптором типа int. В Winsock используется SOCKET; его нельзя безусловно считать обычным файловым дескриптором или хранить в int.

В Linux ошибка создания обозначается -1, а закрытие выполняется через close. В Winsock проверяют INVALID_SOCKET и используют closesocket; причину ошибки получают через WSAGetLastError.

При переносе кода вынесите тип дескриптора, недопустимое значение и закрытие в платформенную обёртку. Одинаковое назначение сетевых API не означает одинаковую модель дескрипторов.

Источник: learn.microsoft.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее