我想编写一个Python脚本,它将检查用户本地网络中是否有其他当前运行的脚本实例。
出于这个问题的目的,让我们说我正在编写一个仅通过命令行运行的应用程序,并且只在本地网络上“找到”应用程序的另一个实例时更新屏幕。以下示例输出:
$ python question.py
Thanks for running ThisApp! You are 192.168.1.101.
Found 192.168.1.102 running this application.
Found 192.168.1.104 running this application.
有哪些图书馆/项目可以帮助实现这样的目标?
答案 0 :(得分:8)
执行此操作的方法之一是所讨论的应用程序是广播UDP数据包,您的应用程序正在从不同节点接收该应用程序,然后显示它。 Twisted Networking Framework提供了完成这项工作的设施。文档也提供了一些简单的例子。
答案 1 :(得分:3)
好吧,你可以用套接字模块写一些东西。您必须有两个程序,用户本地计算机上的服务器,然后是与服务器连接的客户端程序。服务器还将使用select模块来侦听多个连接。然后,您将拥有一个客户端程序,该程序在运行时或在您需要时向服务器发送内容。然后,服务器可以打印出它正在维护的连接,包括IP地址等详细信息。
在这个链接中记录得非常好,比你需要的更多,但它会向你解释它对我的影响。 http://ilab.cs.byu.edu/python/
答案 2 :(得分:2)
您可以尝试广播UDP,我在这里找到了一些示例:http://vizible.wordpress.com/2009/01/31/python-broadcast-udp/
答案 3 :(得分:2)