Отказ в соединении через сокет - PullRequest
0 голосов
/ 08 ноября 2018

Я изучал модуль 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 показал, что пакеты не были получены.Пожалуйста, скажите мне, в чем может быть проблема.Может ли это быть синтаксическим или основанным на брандмауэре?

1 Ответ

0 голосов
/ 10 ноября 2018

Я обнаружил свою ошибку: я пытался подключиться к ip-адресу моего маршрутизатора, а не к ip-адресу моего компьютера (на котором я запускал сервер сокетов). Извините, что беспокою.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...