それは私のクライアントです:Pythonソケット。 OSErrorの:[errnoが9]不正なファイルディスクリプタ
#CLIENT
import socket
conne = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
conne.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
i=0
while True:
conne.connect (('127.0.0.1', 3001))
if i==0:
conne.send(b"test")
i+=1
data = conne.recv(1024)
#print(data)
if data.decode("utf-8")=="0":
name = input("Write your name:\n")
conne.send(bytes(name, "utf-8"))
else:
text = input("Write text:\n")
conne.send(bytes(text, "utf-8"))
conne.close()
それは私のサーバーです:
#SERVER
import socket
counter=0
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('', 3001))
sock.listen(10)
while True:
conn, addr = sock.accept()
data = conn.recv(1024)
if len(data.decode("utf-8"))>0:
if counter==0:
conn.send(b"0")
counter+=1
else:
conn.send(b"1")
counter+=1
else:
break
print("Zero")
conn.send("Slava")
conn.close()
))
Client.pyを開始した後、私はこのエラーを取得:
Traceback (most recent call last): File "client.py", line 10, in conne.connect (('127.0.0.1', 3001)) OSError: [Errno 9] Bad file descriptor
問題は、最初の入力の直後に作成されます。 このプログラムはチャットします。サーバーがメッセージを待っています。クライアントが送信しています。
完全なトレースバックエラー –
私は同じエラーを見つけたら、それはファイルオブジェクトのclose()からではなく、 "外側"からPythonファイルを閉じることによるものです。 – ggupta
それは完全なエラー –