Для проекта класса я пытаюсь сделать немного программирования на сокете Python, но сталкиваюсь с очень простой проблемой. Я не могу создать TCP-соединение с моего ноутбука на лабораторный компьютер. (Который я надеюсь использовать в качестве «сервера») Даже не вдаваясь в сценарии, которые я написал, я просто безуспешно пробовал команды интерпретатора строк. На лабораторном компьютере (kh4250-39.cselabs.umn.edu) я набираю в Python следующее:
from socket import *
sock = socket()
sock.bind(('', 8353))
sock.listen(5)
sock.accept()
А потом на ноутбуке набираю:
from socket import *
sock = socket()
sock.connect(('kh4250-39.cselabs.umn.edu', 8353))
В этот момент обе машины блокируются и ничего не делают, пока не истечет время ожидания клиента или я не отправлю SIGINT. Этот код в значительной степени точно скопирован из примеров, которые я нашел в Интернете, и из книги Марка Лутца «Программирование на Python» (использование «» для имени хоста сервера, по-видимому, использует ОС по умолчанию и является довольно распространенным). Если я запускаю оба конца на своем компьютере и использую «localhost» для имени хоста, он работает нормально, поэтому я подозреваю, что это некоторая проблема с именами хостов, которые я использую на одном или обоих концах. Я действительно не уверен, что может пойти не так на таком простом примере. У кого-нибудь есть идея?