为什么使用Socket IO而不仅仅是Socket?

时间:2018-05-07 14:17:33

标签: python swift sockets websocket socket.io

我在服务器 - 客户端程序之前构建(到目前为止在python中构建的两端)。

最近我开始使用swift构建应用程序,我的目标是使用python为我的应用程序添加后端(我的应用程序是聊天应用程序)

我在互联网上搜索了这样做的教程,我只看到了两个在服务器端和移动应用程序之间进行通信的选项,第一个是创建API(REST)(请求 - 响应) - 我可以&#39 ; t使用此解决方案,因为我想要实时聊天。 第二个选项是web-socket(socket.IO)。

所以,我的问题是为什么不使用简单的套接字技术(就像我以前只使用python服务器端到python客户端时使用的那样 - >导入套接字) - 没有网络套接字

2 个答案:

答案 0 :(得分:1)

我的理解是Socket.IO不再需要了,因为所有浏览器都值得经常互相控制。 Socket.IO适用于浏览器和服务器不支持相同技术的情况。这些天,一切都得到了很大的支持,Socket在没有使用Socket.IO的情况下非常安全。这里有更多细分 - https://codeburst.io/why-you-don-t-need-socket-io-6848f1c871cd

答案 1 :(得分:0)

以下功能如果您使用的是Socket.io或socketcluster.io(它是在Socket IO的顶部开发),您将获得

  • 可扩展性: - 它将水平扩展,添加更多节点(横向扩展)&线性(按比例扩大)
  • 在压缩消息有效负载时减少有效负载大小
  • 通过中间件功能授权
  • 如果连接断开,则自动重新连接

如果您想使用自己的实现,那么您必须处理上述功能/解决在用户群增加时出现的问题。