Опыт со (свободным) встроенным TCP / стеки IP? [закрытый]

Решение состояло в том, чтобы добавить эти флаги к командной строке JVM, когда Tomcat запускается:

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

можно сделать это путем закрытия сервиса кота, затем входа в Tomcat/каталог bin и выполнения tomcat6w.exe. Под вкладкой "Java" добавьте аргументы полю "Java Options". Нажмите "OK" и затем перезапустите сервис.

, Если Вы получаете ошибку , указанный сервис не существует как установленная служба , необходимо работать:

tomcat6w //ES//servicename

, где servicename является названием сервера, как просматривается в источнике services.msc

: комментарий orx Гибкие Ответы Eric .

33
задан sg7 3 December 2016 в 15:32
поделиться

6 ответов

+1 для lwIP.

Мы успешно использовали это в проекте несколько лет назад и обнаружили, что в целом он очень надежен. Мы обнаружили и исправили несколько проблем (обычно это угловые случаи в коде TCP), которые мы отправили обратно в проект, и хотя с тех пор проект немного сдвинулся с места, мы, как правило, не обнаружили в нем недостатка каких-либо функций.

Как вы подозреваете, он будет работать с ОСРВ или без нее. На то, чтобы запустить в нашей системе RTOS, потребовалось около недели, включая изменения, которые нам пришлось внести для поддержки необычного компилятора DSP. Поскольку вы, вероятно, используете GCC на ARM, вы можете избежать любых этих усилий.

Он действительно содержит намного больше функций, чем вам нужно, но если ваши требования изменятся через несколько лет, вам будет лучше начать с более солидным стеком.

11
ответ дан 27 November 2019 в 18:34
поделиться

lwIP

Я работал над проектом с 3G-модемом, где нам нужен был стек UDP / IP (без TCP) поверх PPP. Мы сузились до uIP и lwIP. В конце мы выбрали lwIP, потому что в нем уже был PPP (в uIP нет), и у нас было достаточно свободной оперативной памяти.

В нашем конкретном проекте не использовалась ОСРВ, а lwIP можно было использовать без ОСРВ.

Я не принимал непосредственного участия в портировании кода lwIP, хотя работал над драйвером модема для взаимодействия с ним. У меня сложилось впечатление, что на перенос потребовалось несколько недель, чтобы все прошло гладко, для нашего инженера, у которого был предыдущий опыт работы с TCP / IP. Код lwIP был взломан многими людьми и, следовательно, имеет некоторые шероховатости (например, кто-то добавил где-то одинокий malloc ()), но он сработал для нас после небольшой настройки. Мы протестировали его с помощью независимого пакета проверки.

8
ответ дан 27 November 2019 в 18:34
поделиться

Я широко использовал uIP и lwIP.

uIP

  • Отлично, если вам нужно только что-то базовое, например, загрузчик
  • Небольшие размеры.
  • Использует опрос, поэтому у нас никогда не было более 3 Кбит: - (
  • Нет DHCP «из коробки»
  • Плохая поддержка UDP

lwIP

  • Полное прерывание выполняется намного быстрее (~ x10)
  • Включает DHCP с переключением при отказе AutoIP
  • UDP с многоадресной рассылкой
  • Плюс еще

РЕДАКТИРОВАТЬ:
И мы никогда не использовали ни то, ни другое с RTOS, поскольку в этом никогда не было необходимости.

17
ответ дан 27 November 2019 в 18:34
поделиться

+1 для lwIP.

Он включен в Luminary Micros (теперь TI) Serial to Ethernet эталонный дизайн с некоторыми дополнительными возможностями (своего рода «сценарии на стороне сервера» и cgi), работающий на «голом железе» (без ОСРВ).

Он надежен и очень производителен, имея всего 32 КБ или ОЗУ.

С уважением

PFM

3
ответ дан 27 November 2019 в 18:34
поделиться

Я доволен lwip на Stellaris Cortex-M3.

StellarisWare для платы eval LM3S6965 включает демонстрацию enet_lwip. Это небольшой веб-сервер, работающий через lwip, который работает на «голом железе» - в данном случае это не FreeRTOS. Система управляется таймером и прерываниями Ethernet. Было довольно легко извлечь веб-сервер и вставить мое приложение. Мне не нужно было становиться экспертом по lwip, чтобы запустить это в первый раз.

Позже я понял, что мое приложение изначально ориентировано на вызовы. Сначала у него была прокладка «гнездо-вверх». Я заменил этот уровень на гораздо более простой, который переводит исходные вызовы lwip в обратные вызовы приложения, и отключил API сокетов lwip. Это сэкономило больше места на флеш-памяти и оперативной памяти, а также сделало все это быстрее и проще.

3
ответ дан 27 November 2019 в 18:34
поделиться

Я использовал стек Microchip TCP / IP. Я был очень доволен этим. Его было очень легко реализовать, было доступно множество демонстрационных кодов / руководств, и он поддерживает множество протоколов HTTP, tFTP, SMTP, SNTP и т. Д. Пункт, который не соответствует вашим требованиям, заключается в том, что его нелегко переносить. к другой архитектуре. На самом деле я думаю, что лицензия на стек явно запрещает это, потому что Microchip хочет, чтобы вы запускали стек только с использованием их оборудования PIC18, PIC24 и PIC32. Однако они продают внешний контроллер Ethernet, который позволит вам использовать определенные части этого стека со своим ENC28J60.

0
ответ дан 27 November 2019 в 18:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: