0

对于我的简单套接字服务器,我需要一个名为的函数serverloop(我正在努力提高我的函数技能。)在这个函数中,循环不断尝试与潜在客户连接:

def serverloop(s):
    while True:
        conn, addr = s.accept()
        print "Connected with", addr

但是,conn其他功能需要运行:

def send_msg(conn):
    #Send some data to the remote server
    my_message = raw_input(">>>")


     #set the whole string
    conn.sendall(my_message)

我试图通过 line 强制 conn 是全局的global conn,但我仍然收到一个错误:

NameError: global name 'conn' is not defined

注意:我必须使用线程。

尽管 conn 变量是在函数中定义的,但如何调用它?

4

1 回答 1

1

您正在使用线程,并且conn在您调用.RECEIVE

解决方法是要么不使用线程,要么至少设置connNone然后轮询,如果main在尝试将值传递给之前将其设置为不同的值RECEIVE

于 2013-04-02T13:39:59.707 回答