0
這裏我很困惑,在初始化實例時初始化套接字,我使用它在循環中通過它傳輸數據。Python套接字錯誤:一個不是套接字的對象
class Server2:
host = "localhost"
port = 44444
s = ""
sock = ""
addr = ""
def __init__(self,voitingSistem,voitingInterfece,voiting,sql):
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.s.bind((self.host, self.port))
self.s.listen(5)
self.sock, self.addr =self.s.accept()
self.client = WorkWithClient()
self.voitingSistem = voitingSistem()
self.voitingInterfece = voitingInterfece()
self.voiting = Voiting("d")
super().__init__()
def mainLoop(self):
while True:
buf = self.sock.recv(1024) # receive and decode a command
print("getting command: "+(buf.decode('utf8')))
ansver = self.client.AcceptCommand(buf.decode('utf8')) # act upon the command
if buf.decode('utf8') == "exit":
self.sock.send("bye")
break
elif buf:
self.sock.send(buf)
print(buf.decode('utf8'))
self.sock.close()
錯誤:
An attempt was made to perform an operation on an object that is not a socket
哪條線發生了這種情況? –
程序收到第一個數據。但是,接下來的一些數據會出現這樣的錯誤。 – Dmitry
請在您的貼上正確地縮進您的代碼。 (在mainLoop之前缺少4個空格)。此外,它將需要整個堆棧跟蹤幫助你。 –