我正在写一个通过网络发送文件的应用程序,我想开发一个自定义协议,不再局限于丰富的功能(http可能不合适,最近的协议可能是bittorrent协议)。
我试过twisted,我已经构建了一个很好的应用程序,但是twisted中有一个bug,使得我的GUI阻塞,所以我不得不切换到另一个框架/策略。
你有什么建议?使用原始套接字和使用gtk主循环(工具包中有类似于选择的函数)太难了吗?
在不同线程中运行两个主循环是可行的吗?
寻求建议
发布于 2010-06-08 02:04:27
免责声明:我几乎没有网络应用程序的经验。
也就是说,原始套接字并不是很难理解/使用,特别是如果您不太担心优化的话。当然,这需要更多的思考。但是使用GTK和原始套接字应该相当简单。特别是因为您已经使用了扭曲的框架,IIRC只是抽象了套接字管理的一些更具体的细节。
发布于 2010-06-08 02:02:30
两个线程:一个用于GUI,一个用于发送/接收数据。Tkinter将是一个非常好的工具包。您不需要twisted或任何其他外部库或工具包--开箱即用就足以完成工作。
发布于 2010-06-08 03:18:16
如果您的应用程序有点类似于bittorrent,为什么不检查一下Deluge http://deluge-torrent.org/的源代码并在此基础上进行构建呢?It 是用Python编写的,it 使用bittorrent协议,it 有一个GTK用户界面。
https://stackoverflow.com/questions/2991852
复制相似问题