gpt4 book ai didi

dart - ServerSockets 和 Websockets 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 06:45:05 26 4
gpt4 key购买 nike

似乎有两种方法可以在 Dart 服务器和 Dart 客户端之间保持开放连接:ServerSocket 和 Websocket。

https://www.dartlang.org/dart-by-example/#sockets
https://www.dartlang.org/dart-by-example/#websockets

什么时候最好使用一个而不是另一个?

最佳答案

Websocket 是基于 TCP 的顶级普通套接字构建的协议(protocol)。协议(protocol)( ServerSocket Socket )。 Websockets 让您在编程过程中更加舒适,因为它可以帮助您:

  • 框架:TCP 是基于流的,Websockets 允许你发送包。您不必自己找到包裹的开始和结束。
  • 关闭握手:您可以发送连接关闭原因。
  • 安全性(在浏览器上下文中,在控制台应用程序上下文中不需要)
  • 您还可以通过 Webbrowser API 访问您的 Websocket 服务器。

  • 如果您想与使用 TCP 的现有服务器/客户端一起工作,则必须使用 ServerSockets。 Websockets 和 ServerSockets 不兼容(出于安全原因故意)。
    由于 Websocket 有更多的内部工作要做,因此性能和吞吐量将不如原始 TCP,但这一点可以忽略不计。
    这两种协议(protocol)都可以与加密一起使用,Websockets 通过使用 HTTPS 连接 (wss://) 和 TCP 使用 TLS ( SecureSocket SecureServerSocket )。
    有关 Websockets 的更多详细信息,请查看 RFC . RawDatagramSocket 除了基于 TCP 的 ServerSockets 之外,还允许您使用 UDP 协议(protocol)。

    关于dart - ServerSockets 和 Websockets 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24850937/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com