Да, возможно *. Однако проблема сложнее, чем кажется на первый взгляд:
Несмотря на это, знание способов поиска имен объекта иногда может быть полезно для целей отладки - и вот как это сделать:
import gc, inspect
def find_names(obj):
frame = inspect.currentframe()
for frame in iter(lambda: frame.f_back, None):
frame.f_locals
obj_names = []
for referrer in gc.get_referrers(obj):
if isinstance(referrer, dict):
for k, v in referrer.items():
if v is obj:
obj_names.append(k)
return obj_names
Если вы «когда-либо соблазнялось основать логику вокруг имен ваших переменных, приостановить на мгновение и подумать, может ли редизайн / рефакторинг кода решить проблему. Необходимость восстановления имени объекта из самого объекта обычно означает, что базовые структуры данных в вашей программе нуждаются в переосмыслении.
*, по крайней мере, на Cpython
Хорошо, ответ на этот вопрос - подумайте , с каким хостом вы связываете .
В моем случае netty-сервер был связан следующим образом:
BIND: localhost/127.0.0.1:5555
Я изменил его на:
BIND: 0.0.0.0/0.0.0.0:5555
И он работает как шарм!