Ну по описанию эта функция вернет 0, если 1. Нет соединения по сокету 2. Нет акак на прошлые посланные данные
Соединение по сокету есть, вы вроде проверили... остается Шарком смотреть что идет в ответ на первые посланные данные. Не может же быть так что вообще ни одни данные послать нельзя с самого начала.
Ну еще раз проверить внутренности стека, число разрешенных сокетов, памяти и прочее...
Еще из стресс тестов, убрать эту проверку посмотреть что будет. И еще можно попробовать добавить keep_alive режим, который проверяет с заданным таймаутом жизнеспособность сокета, может сокет накрывается а устройство об этом и не знает...
|