[英]networking application and GUI in python
我正在编写一个通过网络发送文件的应用程序,我想开发一个自定义协议,以限制自己的功能丰富性(http不合适,最接近的可能是bittorrent协议)。
我试过扭曲,我已经构建了一个很好的应用程序但是有一个扭曲的错误使我的GUI阻塞,所以我要切换到另一个框架/策略。
你有什么建议? 使用原始套接字和使用gtk mainloop(工具包中有类似选择的函数)太难了吗?
在不同的线程中运行两个主循环是否可行?
寻求建议
两个线程:一个用于GUI,一个用于发送/接收数据。 Tkinter将是一个非常好的工具包。 您不需要扭曲或任何其他外部库或工具包 - 开箱即用的功能足以完成工作。
免责声明:我对网络应用程序的经验不足。
话虽这么说,原始插座并不是非常难以包裹你的头/使用,特别是如果你不太担心优化。 当然,这需要更多的思考。 但是使用GTK和原始套接字应该相当简单。 特别是因为你已经使用了扭曲的框架,IIRC只是抽象出了套接字管理的一些更细微的细节。
如果你的应用程序有点类似于bittorrent,为什么不检查Deluge http://deluge-torrent.org/的源代码并从中构建? 它是用Python编写的,它确实使用了bittorrent协议,它确实有一个GTK用户界面。
作为扭曲和你似乎使用的任何GUI库的替代,尝试PyQt怎么样? 它在同一个事件循环中提供GUI和非阻塞套接字。 这样您就不必担心互操作性问题,这似乎是您面临的问题。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.