Не удается получить доступ к сайту localhost с другого устройства - PullRequest
0 голосов
/ 20 июня 2020

Я написал простую программу, которая привязывается к внутреннему IP-адресу машины и к порту 80, http-порту.

import socket
import time as t
from datetime import datetime


def gettime():
    unix_stamp = t.time()
    dt_object = datetime.fromtimestamp(unix_stamp)
    dt_object = str(dt_object).split()
    return dt_object[1], dt_object[0]


HOST = socket.gethostbyname(socket.gethostname())
print(f"[LOG::{gettime()[0]}]   {HOST}")
PORT = 80

index = open("index.html", "r")

MySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
MySocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
MySocket.bind((HOST, PORT))
MySocket.listen(3)


client_socket, (client_ip, client_port) = MySocket.accept()
print(f"[LOG::{gettime()[0]}]   {client_ip}:{client_port}")
client_socket.send(index.read().encode('utf-8'))

client_socket.shutdown(1)

t.sleep(10)

client_socket.close()
print(f'[LOG::{gettime()[0]}]    DONE AND CLOSED')

Когда я пытаюсь подключиться к своему сайту с машины, на которой бегу, я получаю сайт и все такое. Но когда я пытаюсь использовать свой телефон или другой компьютер, он не может подключиться к сайту. У моего «серверного» ноутбука проводное соединение. И телефон, и другое устройство подключены по беспроводной сети к модему-маршрутизатору или точке доступа к этому модему-маршрутизатору.

1 Ответ

1 голос
/ 20 июня 2020

Для работы в локальной сети значение HOST должно отличаться от вашего внешнего локального адреса, например 192.168.1.10. Если в этом случае у вас нет подключения, то проблема может быть в сетевых настройках ОС или роутера.

...