似乎有两种方法可以维护Dart服务器和Dart客户端之间的开放连接:ServerSocket和Websocket。
https://www.dartlang.org/dart-by-example/#sockets
https://www.dartlang.org/dart-by-example/#websockets
什么时候最好使用一个而不是另一个?
答案 0 :(得分:4)
Websocket
是在顶级普通套接字上构建的协议,它基于TCP协议(ServerSocket
和Socket
)。 Websockets在编程过程中给您带来更多的舒适感,因为它可以帮助您:
如果要与使用TCP的现有服务器/客户端一起工作,则必须使用ServerSockets。 Websockets和ServerSockets不兼容(出于安全原因,故意)。 由于Websockets有更多的内部功能,性能和吞吐量不如原始TCP,但这一点可以忽略不计。
两种协议都可以使用加密,Websockets使用HTTPS连接(wss://)和TCP使用TLS(SecureSocket
和SecureServerSocket
)。
有关Websockets的更多详细信息,请查看RFC。除了基于TCP的ServerSockets之外,RawDatagramSocket
还允许您使用UDP协议。