Socket.IO与扭曲

我的想法是为iOS和Android构build一个简单的聊天应用程序。 无论如何,我的问题与服务器端有关。 根据我所读的,做聊天应用程序的最佳select是构build套接字。 提到数据库,我的意图是使用MySQL,为了select其中一种可能性,这也可能是重要的。

我的问题是, 就可伸缩性,速度和安全性而言,这是最好的select:使用Twisted或使用Socket.IO的NodeJS构buildPython套接字?

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

比较Twisted和Socket.io是比较苹果和一个载着苹果的卡车。 Twisted是一个为Python提供面向事件编程function的库。 在JavaScript只是JavaScript本身(无论是node.js或网页浏览器,甚至是犀牛)。

比较适合的比较是将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协议logging在这里: https : //github.com/LearnBoost/socket.io-spec 。 但是,这将打败socket.io的目的 – 它将实时Web通信的低级细节抽象出来,并允许您专注于编写业务逻辑。

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

关于select哪种语言:我的经验法则是select你最喜欢的语言。 debugging业务逻辑会遇到问题。 不要使用陌生的语言使其复杂化。

两种语言都经过了激烈的战斗(是的,即使是node.js,考虑到它年轻有多么令人惊讶)。 Python例如在Dropbox等高stream量服务中使用。 Node目前正在使用LinkedIn移动等高stream量服务。