sockets - 套接字和网络套接字的区别?

标签 sockets websocket mod-wsgi

我正在构建需要使用套接字连接与另一个应用程序进行通信的网络应用程序。这对我来说是新领域,所以想确定 socketswebsockets 不同。看起来它们只是在概念上相似。

问这个问题是因为最初我计划使用 Django 作为我的项目的基础,但是在我上面链接的 SO 帖子中,它非常清楚地表明 websockets 是不可能的(或者至少不可靠,即使有类似的东西) django-websockets)使用首选 Django 设置(带有 mod_wsgi 的 Apache)。然而我发现其他帖子随意导入 Python 的套接字模块,就像grabbing the server's hostname这样简单。 .

所以:

  • 它们真的不同吗?
  • 对于依赖与外部服务器建立套接字连接的项目,是否有任何理由不使用 Django?

最佳答案

回答您的问题。

  1. 尽管他们(总体上)实现了相似的目标,是的,但他们确实不同。 WebSocket 通常从连接到应用程序服务器的浏览器运行,该协议(protocol)类似于在 TCP/IP 上运行的 HTTP。因此它们主要适用于需要永久连接到服务器的 Web 应用程序。另一方面,普通套接字更强大、更通用。它们在TCP/IP上运行,但不限于浏览器或HTTP协议(protocol)。它们可用于实现任何类型的通信。
  2. 没有。没有任何理由。

关于sockets - 套接字和网络套接字的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973622/

相关文章:

python - 变量将被多次实例化

java - readLine() 循环在远程客户端关闭连接之前不会退出

java - 如何接收从服务器发送的字节数组并一次读取 4 个单字节

html - WebSocket 服务器列表

node.js - ws websocket 服务器库在负载均衡器后面使用时是否需要粘性 session ?

python - 在生产中,Apache + mod_wsgi 还是 Nginx + mod_wsgi?

python - 在 virtualenv 中编译 mod_wsgi 的问题

c++ socket read()有时在连接到服务器时返回-1

c# - 使用套接字打印到IP地址和字节数组在某些打印机上打印空白页

python - 没有消息类型 websocket.group_send 的处理程序,如何解决?