Я выполнил следующую команду для запуска http-сервера
python -m SimpleHTTPServer
и получил следующее сообщение
Serving HTTP on 0.0.0.0 port 8000 ...
, но я не могу получить к нему доступ на другая машина / мобильный телефон в локальной сети Wi-Fi, я попытался получить к нему доступ с моего локального компьютера и смог получить к нему доступ.
пожалуйста, дайте мне знать, сможет ли кто-нибудь выяснить, в чем проблема. заранее спасибо.
SimpleHTTPServer
по умолчанию связывает с IP-адресом 0.0.0.0
. Это - специальный адрес, означающий в действительности "любой адрес". Если это должно было связать с, например, localhost
или 127.0.0.1
, Вы могли только соединиться с ним от локальной машины, потому что 127.0.0.1
принадлежит устройству закольцовывания. Но с 0.0.0.0
, сервер, обязательный к lo
, eth0
и любые другие сетевые устройства Вы могли бы иметь.
Так, Ваш небольшой сервер должен быть достижимым от других машин в Вашей сети. То, что это не, указывает, что что-то (кроме Вашего небольшого сервера) запрещает его, возможно, брандмауэр. Вы могли проверить состояние порта 8000 с nmap
от другой машины (Вы, возможно, должны были бы установить nmap
). Скажите, что Ваш небольшой сервер работает на IP 192.168.0.1, другая машина 192.168.2.101. Затем Вы сделали бы от 192.168.2.101
nmap -p 8000 192.168.0.1
Вывод должен быть чем-то как
PORT STATE SERVICE
8000/tcp open http-alt
Если состояние "открыто", порт достижим и существует что-то слушающее там, таким образом, Ваш небольшой сервер должен быть достижимым.
Если состояние "закрывается", порт достижим, но нет ничего слушающего там. В этом случае возможно, Ваш сервер завершился, или Вы перепутали IP-адреса или номера портов.
Если состояние "фильтровано", существует некоторый брандмауэр фильтрации IP в действии, который мешает Вам получать доступ к своему небольшому серверу.
После запуска SimpleHTTPServer с: python -m SimpleHTTPServer 8000
,
необходимо узнать IP-адрес сервера, в локальной сети, на терминальном использовании:
linux/mac: ifconfig
окна: ipconfig
затем на Вашем мобильном устройстве пытаются достигнуть ip_address:PORT
,
, например: 192:168.1.5:8000