我有两个模块。我想使用全局变量server将响应发送到服务器。当我试图发送数据时,它显示BROKEN PIPE,这意味着连接已丢失。因此数据无法发送。它的作用是,在将tcp_driver导入到send_response文件时,它再次初始化server变量,因为它保持未连接状态,因此返回一个断管错误。在
如何使用全局变量server来发送数据。在
PS:我不想将服务器变量作为参数传递。我也不想将服务器变量保存到第三个模块中,从而从第三个模块继承它。在
我的模块如下。在
tcp协议_驱动程序.pyimport send_response
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR, 1)
server_address = (config.IP_ADD, config.PORT)
def main():
while True:
try :
server.connect(server_address)
print "Connected"
break
except socket.error: # Tries to connect to the server until it is connected.
print "Not Connected"
continue
response = "Hello Server"
send_response.send_response_to_server(response)
if __name__ == "__main__":
main()
发送_响应.py
^{pr2}$