我在windows10上使用pyzmqforipc(overtcp),作为自动更新程序的一部分。我注意到,在某些计算机上,防火墙提示会选择它是否可以使用公共或私人互联网,尽管它不连接到互联网-只连接到localhost。你知道吗
此PyInstaller打包脚本由用户land脚本启动。你知道吗
所以: 脚本启动我的PyInstaller打包脚本->; 脚本严格使用pyzmq连接到localhost->; Windows提示如何允许它通过防火墙
这个提示不会停止程序,但我不想让用户看到它,并怀疑他们可能有什么病毒。你知道吗
这是应该触发它的代码:
sckt = self.zmq_context.socket(zmq.REQ)
sckt.connect('tcp://localhost:%s' % updater_shared_port)
我能做些什么来阻止Windows防火墙的弹出窗口吗?你知道吗
谢谢!你知道吗
是的,有些东西:
可以通过
tcp://
传输类以外的其他类实现连接。你知道吗ZeroMQ可以通过智能传输
{ ipc:// | inproc:// | vmci:// }
帮助您构建您的想法,因为您无需组装/分解全高L3-ISO-OSI堆栈即可到达位于同一个localhost
上的交易对手。你知道吗防火墙可以配置为允许您的程序不受阻碍地运行。这可能是一个必要的手工操作。可能有一种方法可以让安装程序适当地配置防火墙,但这需要大量的工作来设置。你知道吗
很可能是绑定端导致了弹出(而不是您建议的连接端),显然可以将zmq套接字绑定到特定接口。这是通过一个连接字符串来完成的,比如
zmq_bind(socket, "tcp://127.0.0.1:5555");
这将把套接字钳制到环回,这可能根本不会给防火墙带来麻烦。zmq_bind(socket, "tcp://*:5555)
将在所有接口上打开一个套接字,包括任何面向Internet的接口,这肯定会引起防火墙的注意。如果你还没有尝试过,也许值得一试。你知道吗相关问题 更多 >
编程相关推荐