次のコードでサーバーをコーディングしようとしています。それはスレッド化されており、私はこのエラーです。OSError IDで奇妙なエラーが発生しました:WinError 10038
Unhandled exception in thread started by <function threaded_client at 0x0000000003302158>
line 28, in threaded_client
data = conn.recv(2048)
OSError: [WinError 10038] An operation was attempted on something that is not a socket
このエラーは解決できません。このエラーは解決できませんでした。私は本当にそれを修正する方法を知りたいです。
import socket
import sys
from _thread import *
import time
host = ''
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, please write to the server.\r\n"))
userinput = ""
while True:
data = conn.recv(2048)
data = data.decode('utf-8')
if not data:
break
#data = data.decode('utf-8')
#Gather up the Input
if data == '\r\n':
userinput += data
#Do something with it
else:
reply = 'Server output: ' + userinput
conn.sendall(str.encode(reply))
userinput = ""
conn.close()
while True:
conn, addr = s.accept()
print("connected to: " +addr[0] + ': ' + str(addr[1]))
start_new_thread(threaded_client, (conn,))
ここで、サーバーとクライアントとのやり取りに関する問題が発生しています。私のCMDウィンドウのイメージが開いている。修正するコードを提供してください。 Windows 8の場合は、
これを確認してください。 http://stackoverflow.com/questions/15210178/python-socket-programming-oserror-winerror-10038-an-operation-was-attempted-o?bcsi_scan_94a977aee9df674a=3DSJp4a+bDXk1nRlDXbwkv84AccIAAAA76R6ZQ12 – Prajwal
朝は午前中です遅くなってしまったので、すぐに返事を期待してはいけません! – JerryPlayz101