Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Socket.IO与Twisted_Python_Node.js_Sockets_Socket.io_Twisted - Fatal编程技术网

Python Socket.IO与Twisted

Python Socket.IO与Twisted,python,node.js,sockets,socket.io,twisted,Python,Node.js,Sockets,Socket.io,Twisted,我的想法是为iOS和Android构建一个简单的聊天应用程序。无论如何,我的问题与服务器端有关。根据我所读到的内容,开发聊天应用程序的最佳选择是构建一个套接字。关于数据库,我的意图是使用MySQL,为了选择其中一种可能性,考虑MySQL可能也很重要 我的问题是,在可伸缩性、速度和安全性方面,哪一个是最好的选择:使用Python构建套接字还是使用NodeJS构建套接字 我想可能还有其他的可能性来构建一个高效的套接字,但现在我正在考虑这两种方法。如果你能给我一些建议,我将不胜感激。比较Twisted

我的想法是为iOS和Android构建一个简单的聊天应用程序。无论如何,我的问题与服务器端有关。根据我所读到的内容,开发聊天应用程序的最佳选择是构建一个套接字。关于数据库,我的意图是使用MySQL,为了选择其中一种可能性,考虑MySQL可能也很重要

我的问题是,在可伸缩性、速度和安全性方面,哪一个是最好的选择:使用Python构建套接字还是使用NodeJS构建套接字


我想可能还有其他的可能性来构建一个高效的套接字,但现在我正在考虑这两种方法。如果你能给我一些建议,我将不胜感激。

比较Twisted和Socket.io就是把苹果比作一辆载着苹果的卡车。Twisted是一个为Python提供面向事件编程功能的库。在javascript中,这仅仅是javascript本身(无论是node.js还是web浏览器,甚至rhino)

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

(摘自socket.io wiki:)

如果需要,您甚至可以使用Twisted在Python中实现自己的socket.io。socket.io协议记录在以下位置:。但这将破坏socket.io的用途——它抽象出实时web通信的低级细节,并允许您专注于编写业务逻辑

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

关于选择哪种语言:我的经验法则是选择你最熟悉的语言。调试业务逻辑将遇到足够多的问题。不要用不熟悉的语言使事情复杂化


这两种语言都是经过斗争的(是的,甚至node.js,考虑到它的年轻程度,这是令人惊讶的)。例如,Python在Dropbox等高流量服务的生产中使用。Node目前正在LinkedIn mobile等高流量服务中使用。

许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。“最佳”选项将取决于太多的参数,无法以这种格式回答。但是,例如,在速度方面,肯定有一个客观的答案。在任何情况下,听取与这些库合作过的人的意见都不会是坏事。这将是坏事,因为仅基于意见的答案在堆栈溢出时并不被认为是有用的。@IOS_DEV对于速度不一定有“客观答案”,因为这在很大程度上取决于您的工作量和您打算做什么。此外,速度通常是你应该关注的最后一个问题;如果你说的是一个“简单的聊天应用程序”,你通常不需要任何特别高性能的东西。真正的问题是:您更愿意编写Python还是JavaScript?哪一个能让你更快地获得MVP?我的建议是,花些时间逐一尝试;制作一个快速概念验证聊天应用程序。@Lix但意见可能会反映一个选项是否对开发者更友好,这一点也很重要。此外,如果有人对其中一些问题有具体的看法,可以基于个人经验或图书馆的具体方面。不管他们的观点是什么原因,这个原因可以帮助我选择其中一个选项。谢谢@slebetman!你的回答使我明白了许多事情。