我正在构建需要使用套接字连接与另一个应用程序进行通信的网络应用程序。这对我来说是新领域,所以想确定 sockets与 websockets 不同。看起来它们只是在概念上相似。
问这个问题是因为最初我计划使用 Django 作为我的项目的基础,但是在我上面链接的 SO 帖子中,它非常清楚地表明 websockets 是不可能的(或者至少不可靠,即使有类似的东西) django-websockets)使用首选 Django 设置(带有 mod_wsgi 的 Apache)。然而我发现其他帖子随意导入 Python 的套接字模块,就像grabbing the server's hostname这样简单。 .
所以:
- 它们真的不同吗?
- 对于依赖与外部服务器建立套接字连接的项目,是否有任何理由不使用 Django?
最佳答案
回答您的问题。
- 尽管他们(总体上)实现了相似的目标,是的,但他们确实不同。 WebSocket 通常从连接到应用程序服务器的浏览器运行,该协议(protocol)类似于在 TCP/IP 上运行的 HTTP。因此它们主要适用于需要永久连接到服务器的 Web 应用程序。另一方面,普通套接字更强大、更通用。它们在TCP/IP上运行,但不限于浏览器或HTTP协议(protocol)。它们可用于实现任何类型的通信。
- 没有。没有任何理由。
关于sockets - 套接字和网络套接字的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973622/