Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 名称错误:全局名称';客户';没有定义_Python_Sockets - Fatal编程技术网

Python 名称错误:全局名称';客户';没有定义

Python 名称错误:全局名称';客户';没有定义,python,sockets,Python,Sockets,使用tkinter,当我试图打开客户端时,我得到错误: NameError:未定义全局名称“客户端” 回溯(最近的呼叫丢失): 文件“C:\Users\Gerardi\Desktop\graf2.py”,第21行,在 客户2=conectar() 文件“C:\Users\Gerardi\Desktop\graf2.py”,第18行,在conectar中 客户连接(地址) 文件“C:\Python27\lib\socket.py”,第224行,meth格式 返回getattr(self.\u so

使用
tkinter
,当我试图打开客户端时,我得到错误:

NameError:未定义全局名称“客户端”

回溯(最近的呼叫丢失):
文件“C:\Users\Gerardi\Desktop\graf2.py”,第21行,在
客户2=conectar()
文件“C:\Users\Gerardi\Desktop\graf2.py”,第18行,在conectar中
客户连接(地址)
文件“C:\Python27\lib\socket.py”,第224行,meth格式
返回getattr(self.\u sock,name)(*args)
ocket.error:[Errno 10049]La direcci¾n请求不在上下文中使用
def conectar():
客户=插座。插座(2,1)
ip=cuadro_texto3.get(“1.0”、“1.end”)
地址=(ip,5001)
客户连接(地址)
回头客
客户2=conectar()
def检查信息(客户):
尽管如此:
尝试:
datos=客户记录(1000)
cuadro_text2.插入(“1.0”,数据)
除socket.error外:
打破
如果datos==“退出”:
客户关闭
server.close()
客户关闭
无论如何,您不应该使用全局。使用返回值和参数

def conectar():
    [... your code ...]
    return cliente

def check_message(cliente):
    [... your code ...]

client = conectar()
check_message(client)
此外,在名为*check_message*的函数中关闭连接可能不是一个好主意。对此,您应该有自己的函数


从长远来看,重构类中的整个代码可能是一个好主意。

错误表明您试图使用未定义的变量
cliente
。也许你拼错了,也许你在使用它之前没有初始化它。。。显示
check_message
的源代码如果您需要更多帮助,您应该编辑问题以添加代码,此处不可读。对此,我非常抱歉,这是我在此处提出的第一个问题..在check_message()函数中,添加“全局客户”,以便客户可以在此函数中使用。我遇到了相同的错误:(
def conectar():
    [... your code ...]
    return cliente

def check_message(cliente):
    [... your code ...]

client = conectar()
check_message(client)