Программирование сокетов, получение данных TCP из программного обеспечения в другой системе с использованием python - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь использовать программное обеспечение на компьютере A, которое отправляет блоки данных TCP на компьютер B. Моя клиентская программа находится на компьютере B, написанном на python, для получения блоков данных. Но когда я запускаю свой код, я получаю следующую ошибку:

OSError: [WinError 10065] A socket operation was attempted to an unreachable host

Вот мой client.py

def Main():
    host = '146.254.8.132' #IP Address of the system which has the software sending TCP data
    port = 5003 #TCP port number used by the software
    s = socket.socket()
    s.connect((host,port))

    i = 0
    #for i < 2:
    len_message = s.recv(3)
    print(len_message)
    while len_message:
        bytes_length = int(len_message.decode())
        #data_length = (bytes_length + 3)
        print(bytes_length)
        #print(data_length)
        data = s.recv(bytes_length)
        print(data)
        write_file(data)
        len_message = s.recv(3)
    #i+=1
    s.close()

def write_file(data):
        with open("Output.txt", "wb") as text_file:
            text_file.write(data)
            text_file.write('\n'.encode())


if __name__ == '__main__':
    Main()

Почему я получаю эту ошибку и не могу получить данные? Возможно ли это, потому что мой клиент не подключен к какой-либо сети, но мой сервер находится в системе, которая имеет подключение rnet? Заранее спасибо

...