【问题标题】:POSIX socket VS Web Socket VS Windows TCP/IP SocketPOSIX 套接字 VS Web 套接字 VS Windows TCP/IP 套接字
【发布时间】:2014-02-10 23:44:48
【问题描述】:

我是网络编程的新手,对Web Sockets POSIX Socket Programming 这似乎是一项相当新的技术感到困惑, POSIX Socket Programming 已经存在了几十年,Windows TCP/IP Socket C++

它们之间到底有什么区别??? ,在我看来,这三个都与客户端和服务器之间的所有套接字连接相同。谁能给我解释一下,谢谢!!!

【问题讨论】:

    标签: c++ windows unix websocket posix


    【解决方案1】:

    POSIX 和 Windows 套接字是 POSIX 和 Windows 系统分别使用的 API。 Windows 套接字 API 以 POSIX(以前的 BSD)API 为模型,因此它们共享许多功能。这些 API 可用于 C 和 C++。

    Websockets 是完全不同的东西,实际上是 TCP 之上的协议(但使用 HTTP 进行初始握手)。

    【讨论】:

      【解决方案2】:

      C 套接字 API 是用于创建基于流的套接字(TCP 套接字、UNIX 域套接字)和基于数据报的套接字(UDP 套接字)的低级机制。为此,POSIX API 和 Windows API 略有不同(有时以微妙的方式......Windows 具有许多 POSIX 功能,但有时支持的选项或行为以微妙而令人惊讶的方式不同)。

      WebSockets 是一种用于 JavaScript 的 API,它为 Web 开发人员提供了一种访问此低级 API 功能的方法(作为 C++ 程序员,您可能对此不感兴趣)。在 Web 套接字之前,Web 开发人员只能使用 XMLHttpRequest (XHR) 来执行请求,这需要一个成熟的 HTTP 请求/响应,并且不允许低级别 API 的同类持久连接和轻量级通信.

      现在,就您作为开发人员实际应该做的事情而言,您可能希望将现有库重用于任何套接字编程。有一些库可以很容易地将 HTTP(或 RPC)服务器嵌入您的应用程序或向其他 HTTP(或 RPC)服务器发出请求。对于大多数应用程序程序员来说,这可能是您感兴趣的内容(除非您尝试对网络本身做一些花哨的事情)。

      【讨论】:

      • 这是否意味着 WebSocket API 是 C 套接字 API 的高级等价物,两者实际上都是在客户端和服务器之间创建套接字???
      猜你喜欢
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 2021-07-17
      • 1970-01-01
      相关资源
      最近更新 更多