首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >套接字模块与socket.io模块

套接字模块与socket.io模块
EN

Stack Overflow用户
提问于 2021-05-01 09:24:36
回答 1查看 187关注 0票数 0

最近,我了解了套接字,它们与HTTP或AJAX的不同之处,并在我的python应用程序中使用它来学习--通过套接字模块设置它们。现在,我研究了在web应用程序中将它们与烧瓶一起使用(与以前仅在控制台/终端窗口中运行的情况相比),并注意到几乎所有的示例、教程和文档都使用socket.io。为什么会这样呢?它与套接字模块的行为有什么不同?

(注意:我不想在web应用程序中使用任何JS,只是python,因为它是我熟悉的东西,我只是收集了一个概念的证据)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-01 09:35:22

socketssocket.io的共同点是,它们允许两个应用程序直接通过网络进行通信。然而,由于它们在完全不同的网络层上运行,所以它们是非常不同的。

套接字是在传输层上定义的,允许一种非常直接的通信方式,避免了高层协议的复杂性(但也缺乏功能性),比如http和在http之上定义的服务。sockets库允许您使用这种类型的套接字。

socket.io为JavaScript应用程序定义了软件“套接字”,但是由于库变得非常流行(并且工作得很好),现在许多语言都有实现。然而,它在http之上运行(作为可能的传输之一,整个真相要复杂一些)。socket.io中的“套接字”是套接字,因为它们允许直接的点对点通信,但它们在更高的抽象级别上运行。

至于决定使用哪一种,这取决于你想要交流什么,以及你需要与谁或什么人沟通。

要理解为什么在传输层上操作的东西与在应用程序层上操作的东西有很大的不同,您也许应该阅读OSI模型https://en.wikipedia.org/wiki/OSI_model

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67344689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档