gpt4 book ai didi

Python 服务器名称错误 : global name 'SocketError' is not defined

转载 作者:太空宇宙 更新时间:2023-11-04 00:51:42 28 4
gpt4 key购买 nike

我想在服务器和客户端之间建立连接,所以服务器向客户端发送一个字符串。

这是服务器:

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:

关于Python 服务器名称错误 : global name 'SocketError' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36823626/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com