def http_get(url, params=None):
with urllib.request.urlopen(url, params) as w:
return w.read()
Я должен запустить путем высказывания, что я ничего не знаю о C#, но...
Рассмотрение определения ipep
в клиентском коде похоже, что Вы пытаетесь отправить свои данные себе, вместо того, чтобы широковещательно передать их (как был предложен в Вашем другом вопросе). Вещь, которая привлекла мое внимание, состояла в том, что "127.0.0.1" адрес "localhost".
Это объяснило бы, почему это работает приятно при выполнении обоих клиент и сервер на одной машине когда это будет отправлять к себе.
Я ожидал бы, что корректная конечная точка будет для широковещательного адреса (например, "255.255.255.255") - хотя Вы могли также выбрать широковещательный адрес локальной сети, что Вы идете, в зависимости от того, как широко Вы хотите широковещательно передать.
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 10294);
Должен стать:
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 10294);
И
newsock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Any, IPAddress.Parse("127.0.0.1")));
Должен стать
newsock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Any, IPAddress.Parse("255.255.255.255")));
Я думаю.
Хорошо, это не работает, значит, что-то все еще не так.