Я изучал модуль python sockets с помощью sentdex .Когда я попытался запустить код, ошибок не было.Код был:
`import socket
from _thread import *
host = 'localhost'
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host, port))
except socket.error as e:
print(str(e))
s.listen(5)
print('Waiting for a connection.')
def threaded_client(conn):
conn.send(str.encode('Welcome, type your info\n'))
while True:
data = conn.recv(2048)
reply = 'Server output: '+ data.decode('utf-8')
if not data:
break
conn.sendall(str.encode(reply))
conn.close()
while True:
conn, addr = s.accept()
print('connected to: '+addr[0]+':'+str(addr[1]))
start_new_thread(threaded_client,(conn,))
`
Когда я попытался подключиться к нему на моем Raspberry Pi, он выдал ошибку: telnet: Unable to connect to remote host: Connection refused
Я попытался изменить хост на множество различных опций, которые я прочитал в другом вопросетакие как host=''
, host=127.0.0.1
и host=0.0.0.0
.Все безрезультатно, однако установилось соединение, когда я попробовал host='localhost'
на компьютере, на котором выполнялся скрипт.Когда я попытался пропинговать его из моего Raspberry Pi 3, он ничего не сделал.Сначала он работал, но через некоторое время без изменений, когда я отменил его, Raspberry Pi показал, что пакеты не были получены.Пожалуйста, скажите мне, в чем может быть проблема.Может ли это быть синтаксическим или основанным на брандмауэре?