似乎有兩種方法可以保持Dart服務器和Dart客戶端之間的打開連接:ServerSocket和Websocket。ServerSockets和Websockets有什麼區別?
https://www.dartlang.org/dart-by-example/#sockets
https://www.dartlang.org/dart-by-example/#websockets
什麼時候最好使用一個,而不是其他?
似乎有兩種方法可以保持Dart服務器和Dart客戶端之間的打開連接:ServerSocket和Websocket。ServerSockets和Websockets有什麼區別?
https://www.dartlang.org/dart-by-example/#sockets
https://www.dartlang.org/dart-by-example/#websockets
什麼時候最好使用一個,而不是其他?
Websocket
是建立在基於TCP協議(ServerSocket
和Socket
)的最高正常套接字上的協議。 Websockets在編程時給你更多的安慰,因爲它可以幫助你:
如果您想與使用TCP的現有服務器/客戶端一起使用,則必須使用ServerSockets。 Websockets和ServerSocket不兼容(故意出於安全原因)。 由於Websockets有更多的內部資源來執行性能和吞吐量將不如原始TCP,但這一點是微不足道的。
這兩種協議都可以與加密,Websockets通過使用HTTPS連接(wss://)和TCP使用TLS(SecureSocket
和SecureServerSocket
)一起使用。請參閱RFC。 RawDatagramSocket
允許您除了基於TCP的ServerSockets之外還使用UDP協議。
這個類似的問題的答案似乎很不錯http://stackoverflow.com/questions/2681267(ServerSocket == TCP套接字) –