Здравствуйте, dosik, Вы писали:
D>Т.е. в отличии от виндово/линуксовой реализации, тут еще присутствует поле sin_len. Что енто, для чего оно и на сколько критичное его заполнение?
Это во всех BSD.
Если 0, то принимается по умолчанию согласно значению sin_family.
Ставится не в 0 для структур переменного размера (таких, как sockaddr_un).
Перед любым использованием любую из структур sockaddr* надо через bzero/memset заливать нулевыми байтами, в некоторых случаях не только sin_len, но и sin_zero даёт интересные последствия.