У меня есть небольшой и простой UDP-сервер, который годами работает на нескольких хостингах.
Я только что создал новую виртуальную машину в облаке Google, Compute Engine, с Linux.
Настройки по умолчанию для небольшой машины (f1-micro (1 виртуальный ЦП, 0,6 ГБ памяти) Платформа ЦП Intel Sandy Bridge), только с изменениями:
Все отлично работает и может быть подключено из любой точки мира, за исключением с самого компьютера (есть модуль статистики, который запрашивает информацию у сервера - он также работает удаленно, но не с самого компьютера). Это работало на всех других Linux-машинах, на которых я пробовал сервер.
Мне указали на изменение адреса, к которому привязан сервер, в качестве возможного решения, и, поскольку у меня есть доступ к исходному коду, я пробовал все, что мог вообразить, но безрезультатно (привязка к 127.0.0.1, 0.0.0.0, "localhost", конкретный IP ...).
Я также попытался добавить определенные правила брандмауэра для входящих и исходящих.
Существует масса информации о том, как исправить ситуацию, когда вы не можете подключиться извне - моя проблема противоположная, и я придерживаюсь идей.
Пинг и т. Д. Работают нормально.
Заранее спасибо
Решено!
Очевидно, на этих машинах / ядрах сокеты UDP должны иметь имя (привязку) перед отправкой - никогда не требовалось на других машинах, на которых я установил сервер.
Это не элемент администрирования сервера - это просто казалось как будто это могло быть.