簡體   English   中英

Python Server NameError:全局名稱“ SocketError”未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM