python模块间共享全局变量,在Python中跨模块共享全局变量

在Python中,一个TCP驱动程序尝试使用全局变量server发送响应到服务器,但遇到了BROKENPIPE错误。问题在于,当tcp_driver模块导入send_response并重新初始化server时,它导致了连接丢失。为避免将服务器变量作为参数传递或存储在第三个模块,寻求一种方法在两个模块间共享并使用已建立的socket连接。
摘要由CSDN通过智能技术生成

我有两个模块。我想使用全局变量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}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值