История изменений
Исправление i-rinat, (текущая версия) :
ну в моем примере ж блокирующий, и обслуживает все норм)
Попробуй написать клиент, который только шлёт данные, но никогда их не принимает, натрави его на свой сервер, подожди, пока он перестанет слать. Потом попробуй открыть ещё одно соединение с сервером, уже интерактивное. Будет при этом эхо работать?
И ещё. Тебе нужно использовать не struct sockaddr, а struct sockaddr_in и кастовать указатель на его в struct sockaddr *. Вот такое вот API. По факту твой код будет работать, потому что в текущих реализациях struct sockaddr дополняется байтами до 16 байт, поэтому у них с struct sockaddr_in одинаковый размер. Но не факт, что struct sockaddr хватит для любого адреса. В какой-то момент ты решишь использовать свой подход для unix domain сокета и словишь странный баг. Лучше сразу привыкать использовать API правильно.
Исходная версия i-rinat, :
ну в моем примере ж блокирующий, и обслуживает все норм)
Попробуй написать клиент, который только шлёт данные, но никогда их не принимает, натрави его на свой сервер, подожди, пока он перестанет слать. Потом попробуй открыть ещё одно соединение с сервером, уже интерактивное. Будет при этом эхо работать?