Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart ServerSocket和WebSocket之间有什么区别?_Dart - Fatal编程技术网

Dart ServerSocket和WebSocket之间有什么区别?

Dart ServerSocket和WebSocket之间有什么区别?,dart,Dart,在Dart服务器和Dart客户端之间保持开放连接似乎有两种方法:ServerSocket和Websocket 什么时候最好使用其中一个而不是另一个?是基于协议(和)在普通套接字之上构建的协议。WebSocket在编程过程中给您带来更多的舒适,因为它可以帮助您: 框架:TCP是基于流的,WebSocket允许您发送包。你不必自己寻找包裹的开始和结束 关闭握手:您可以发送连接关闭原因 安全性(在浏览器上下文中,在控制台应用程序上下文中不需要) 您还可以通过Webbrowser API访问Web

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


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

是基于协议(和)在普通套接字之上构建的协议。WebSocket在编程过程中给您带来更多的舒适,因为它可以帮助您:

  • 框架:TCP是基于流的,WebSocket允许您发送包。你不必自己寻找包裹的开始和结束
  • 关闭握手:您可以发送连接关闭原因
  • 安全性(在浏览器上下文中,在控制台应用程序上下文中不需要)
  • 您还可以通过Webbrowser API访问Websocket服务器
如果您想与使用TCP的现有服务器/客户端协同工作,则必须使用ServerSockets。Websockets和ServerSockets不兼容(出于安全原因,有意这样做)。 由于WebSocket有更多的内部工作要做,性能和吞吐量将不如原始TCP,但这一点可以忽略不计

这两种协议都可以与加密、使用HTTPS连接的WebSocket(wss://)和使用TLS的TCP(and)一起使用


有关WebSocket的更多详细信息,请查看。除了基于TCP的ServerSockets之外,还允许您使用UDP协议。

这个类似问题的答案似乎很好(ServerSocket==TCP sockets)