Android не любит мой сервер, использующий fprintf
У меня есть устройство, выступающее в роли сервера. Это прошивка написана на C и использует сотовый модем для связи с клиентами. Все работало с клиентом.NET на ПК, когда мне было поручено написать клиент для Android Java.
Ответ на одну функцию, когда клиент запрашивает некоторые данные:
fprintf(MODEM, "@%s%02X", cBuffer, modem_getChecksum(cBuffer));
fputc(13, MODEM);
Но Android-устройствам это не нравится, и они просто ожидают ответа. После нескольких изменений я обнаружил, что это работает как с.NET, так и с Java:
sprintf(tBuffer, "@%s%02X", cBuffer, modem_getChecksum(cBuffer));
fputs(tBuffer, MODEM);
fputc(13, MODEM);
У меня вопрос ПОЧЕМУ? В чем разница? Кстати, cBuffer - это 80 символов ASCII.