Связь с устройством теряется при запуске сети при загрузке?

У меня есть приложение, которое открывает сокет на порту 4444 на устройство (/ dev / linkToDevice). «LinkToDevice» – это ссылка на ttyUSB0. Приложение представляет собой программу на C ++, которая теперь является демоном и запускается при загрузке. Демон запускается независимо от сети. Поэтому, когда загружается linux box, и нет сети, демон запускается немедленно, и пока сети не существует, я могу прекрасно общаться (telnet localhost 4444). Но, когда я подключаю сетевой кабель, или dhclient определяет, что нет DHCP и арендует мне ip-адрес по умолчанию, или просто просто передаю ему ip-интерфейс, я больше не могу общаться. Тем не менее, я могу открыть telnet-соединение, я просто не получаю ответа, когда я запрашиваю его.

Я использую 0.0.0.0 в качестве ip, чтобы открыть сокет (обозначая любой IP-адрес). Я не чувствую, что это проблема с кодом.

Нечетная часть для меня заключается в том, что после того, как я больше не могу общаться, если я перезапущу демона, все отлично работает, что и ожидается. Но когда я отключу сеть или отмените настройку интерфейса, или перезагрузите sudo /etc/init.d/networking, или каким-либо другим способом, который приведет к сбою и резервному копированию сети, через весь этот процесс я никогда не теряю связь с устройство. Так что проблема ТОЛЬКО случается, когда я загружаю машину без сети, чтобы начать, а потом я вдруг получаю сеть. Любые мысли о том, почему это происходит только при загрузке?

One Solution collect form web for “Связь с устройством теряется при запуске сети при загрузке?”

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

Прежде чем вы подходите к этому пути, исключите синонимы высокоуровневой сетевой службы («NetworkManager»). Я всегда отключил его и просто вставлял команды в процесс загрузки в какой-то подходящей точке (например, ifconfig eth0 up && dhclient eth0 ), затем вручную запускал другие простые скрипты для переключения с eth на wifi и т. Д. NetworkManager – гигантский осьминог автоматизации, который несомненно, очень полезен, если вы не знаете, что такое «интерфейс» или ходит с ноутбуком, пытающимся бродить по Wi-Fi-сетям, но если вы предпочитаете просто включать и выключать вещи самостоятельно, это может вызвать раздражающие и таинственные выбор. Я признаю, что никогда не узнал, как настроить его на том основании, что инструмент высокого уровня, который сложнее использовать для выполнения конкретной задачи, чем инструменты низкого уровня, которые он «управляет», не является подходящим инструментом в контексте этой задачи.

Если это не ясно:

когда я отключу сеть, или отконфигурируйте интерфейс, или перезапустите sudo /etc/init.d/networking

/etc/init.d/networking означает, что система .deb (.rpm использует /etc/init.d/network ). Отключите эту (и / или соответствующую службу upstart в системах, использующих выскочку), чтобы она не запускалась при загрузке и не заменяла ее любыми простыми командами, которые вам нужны для доступа к вашей сети где-то в конце процесса загрузки. Если он существует, я также прокомментирую все в /etc/network/interfaces кроме lo.

Обычно я не рассматривал бы этот хороший совет для раздачи другим пользователям, но твоя проблема для меня просто кричит: «Бетча – это гигантский осьминог», – что вам нужно, чтобы это было, прежде чем оглядываться.

  • Требуется ли подсеть для dhcp.conf?
  • Есть ли способ сканирования локальной сети с включенной dhcp для просмотра IP-адреса подключенных устройств с компьютера GNU / Linux?
  • Как предотвратить DHCP-сервер из-за маршрутизатора для ответа на запросы DHCP?
  • Закрытая сеть DHCP + DNS - обновление сборочной стороны in-addr.arpa, передняя сторона отказывается обновлять
  • Полное дешифрование диска через DHCP
  • как решить проблему сетевого DHCP при установке Debian?
  • Расположение dhclient.conf
  • Как отключить DHCP (статический IP-адрес)?
  • Продолжайте проигрывать IP-адрес с помощью dhcpcd
  • Почему маршруты, установленные в / etc / network / interfaces, не добавляются при появлении интерфейса?
  • Автоматически приобретать новый IP-адрес в новой сети
  • Interesting Posts

    Как правильно использовать / usr / xpg4 / bin / grep -F

    Ограничить клиентов MPD

    Что является хорошим инструментом для поиска хвоста -f вывода

    Как создать внешнюю, файловую систему, точку входа только для чтения для внутренней памяти процесса?

    Лучший способ сжать папку с небольшими предварительно сжатыми файлами (изображениями)?

    Я хочу разделить сумму чисел на значение

    Как сохранить трубку (|) в переменной?

    Почему ls -lrth и ls -ltch дают разные результаты

    Как вы обрезаете все столбцы в файле определенной длины?

    Как я могу заставить Bash отображать определения автозаполнения для данной команды?

    как заставить gnome использовать мою домашнюю папку в качестве папки рабочего стола?

    Как я могу автоматически обновлять макет монитора в XFCE?

    Почему я не могу использовать эту команду для командной строки?

    Неактивные обновления USB-накопителей Kali Linux 2.0 не работают

    Как показать все файлы с некоторыми фильтрами?

    Linux и Unix - лучшая ОС в мире.