[英]Python Server NameError: global name 'SocketError' is not defined
我想在服務器和客戶端之間建立連接,因此服務器將字符串發送到客戶端。
這是服務器:
import socket
def Main():
host = '190.176.141.23'#ip changed
port = 12345
while True:
s = socket.socket()
s.bind((host,port))
s.listen(1)
c, addr = s.accept()
print "Connection from: " + str(addr)
command = c.recv(1024)
if command == 'GIVETEXT':
c.send('test')
try:
c.close()
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
except SocketError as e:
if e.errno != errno.ECONNRESET:
raise
pass
if __name__ == '__main__':
Main()
這是我的客戶:
import socket
class Client(object):
def __init__(self, *args):
self.s = socket.socket()
def sent(self, host, port):
self.s.connect((host, port))
self.s.send('GIVETEXT')
self.Text = self.s.recv(1024)
print self.Text
self.s.close
return self.Text
不用說,我在另一段代碼中執行了該方法,並且它起作用了。 但是之后,服務器崩潰了,並顯示錯誤消息:
NameError: global name 'SocketError' is not defined
這是socket.error
; 不是SocketError
。 將您的except
行更改為:
except socket.error as e:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.