Socket.IO与Twisted

IOS*_*DEV 6 python sockets twisted node.js socket.io

我的想法是为iOS和Android构建一个简单的聊天应用程序.无论如何,我的问题与服务器端有关.根据我的阅读,做聊天应用程序的最佳选择是构建套接字.参考数据库,我的目的是使用MySQL,考虑到选择其中一种可能性,这也很重要.

我的问题是,在可扩展性,速度和安全性方面,这是最好的选择:使用Twisted或使用Socket.IO使用NodeJS构建套接字套接字?

我想可能还有其他可能性来构建一个有效的套接字,但到现在为止我正在考虑这两个.如果你能给我一些建议,我真的很感激.

sle*_*man 10

比较Twisted和Socket.io比较苹果和携带苹果的卡车.Twisted是一个为Python提供面向事件的编程功能的库.在javascript中,这只是javascript本身(无论是node.js还是网络浏览器甚至是rhino).

更恰当的比较是将node.js上的Socket.io与Python上的Socket.io进行比较.虽然节点上有一个socket.io服务器的主要实现,但有几个用于Python:

(取自socket.io wiki:https://github.com/learnboost/socket.io/wiki)

如果需要,您甚至可以使用Twisted在Python中实现自己的socket.io.socket.io协议在此处记录:https://github.com/LearnBoost/socket.io-spec.但这会破坏socket.io的目的 - 它抽象出实时Web通信的低级细节,并允许您专注于编写业务逻辑.

在客户端,无论您决定使用何种语言编写服务器,都要将相同的socket.io脚本部署到浏览器.

关于选择哪种语言:我的经验法则是选择您最熟悉的语言.调试业务逻辑时,您将遇到足够的问题.不要使用不熟悉的语言使其复杂化.

这两种语言都经过了强化(是的,即使是node.js,考虑到它的年轻程度也令人惊讶).例如,Python就像Dropbox这样的高流量服务在生产中使用.Node目前正在LinkedIn移动等高流量服务上使用.