ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
286129 Топик полностью
fk0, легенда (25.11.2011 01:58, просмотров: 169) ответил Apтём на >>получается дурацкая ситуация
Ещё раз. Архитектура такова, что на нижнем уровне поток байтов разделяется на строки, а потом полученные строки обрабатываются разными программными модулями. И бинарные данные заставляют здесь на самом нижнем уровне понимать сообщения конкретно TCP-стека SIMCOM, при том, что все остальные сообщения обрабатываются на более высоком уровне и в разных, других, модулях. Так понятно объяснил? Да, HEX лучше, потому, что позволяет иметь нормальную архитектуру ПО, и это гораздо важней, чем сколько-то тысяч тактов и лишние 500 байтов памяти на перекодирование туда-обратно. Задумайтесь почему PDU в тексте хексом, USSD, и многое другое. По той же причине. В приличных модемах других фирм TCP стек работает в хексе тоже. SIMCOM уже сделал чтение данных в хексе, тоже видимо неспроста -- достали этим вопросом. Странно, почему запись не сделал. Причём тут winsock непонятно. Там не смешиваются разные потоки данных в одном канале (ответы модема и принятые данные -- попадающие в разные программные модули, между собой не взаимодействующие). Разумно было бы представление принимаемых данных как обычный ответ модема. Который не может быть бинарным. И что с того, что 40 лет библиотеке C? Вместо этого изобретать свой велосипед с квадратными колёсами? Что касается TCP-стеков в модемах вообще, то моё мнение -- нужно ограничиться от использования TCP и иметь свои примитивные UDP и PPP стеки... и жить вообще станет легче. Кстати задумайтесь, почему в PPP протоколе тоже предусмотрено исключение управляющих символов (включая 0) из потока.
[ZX]