Не могу найти ошибку в клиентской программе Python - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу уточнить. Это работает. Программа подключается к серверу, а сервер просто отправляет приветственное сообщение, но выдает эту ошибку, когда сервер отправляет сообщение обратно клиенту. и я не могу понять это, и я новичок в сокетах, поэтому я пытаюсь также извлечь уроки из этой ошибки .. сообщение об ошибке whole находится внизу в комментариях

import socket

class client:
    def __init__(self,s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)):
        self.s = s

    def connect(self,server_ip = 'ip'): # i replaced the actual ip with 'ip' 
    for safety reasons (obviously)
        self.s.connect(('ip', 12345))
        while True:
           data = self.s.recv(1024).decode('utf-8')
           if not data:
               break
           print(data)
        self.s.close()

 if __name__ == '__main__':
 cl = client()
 cl.connect()

Это ошибка:

 Traceback (most recent call last):
 File "client.py", line 18, in <module>
   cl.connect()
 File "client.py", line 10, in connect
   data = self.s.recv(1024).decode('utf-8')
 OSError: [Errno 9] Bad file desscriptor
...