2014-07-20 43 views

回答

4

Websocket是建立在基於TCP協議(ServerSocketSocket)的最高正常套接字上的協議。 Websockets在編程時給你更多的安慰,因爲它可以幫助你:

  • 框架:TCP是基於流的,Websockets允許你發送包。你不必自己找到你的軟件包的開始和結束。
  • 關閉握手:您可以發送連接關閉原因。
  • 安全(在瀏覽器方面,在控制檯應用程序上下文不要求)
  • 您還可以通過web瀏覽器的API訪問您的WebSocket服務器。

如果您想與使用TCP的現有服務器/客戶端一起使用,則必須使用ServerSockets。 Websockets和ServerSocket不兼容(故意出於安全原因)。 由於Websockets有更多的內部資源來執行性能和吞吐量將不如原始TCP,但這一點是微不足道的。

這兩種協議都可以與加密,Websockets通過使用HTTPS連接(wss://)和TCP使用TLS(SecureSocketSecureServerSocket)一起使用。請參閱RFCRawDatagramSocket允許您除了基於TCP的ServerSockets之外還使用UDP協議。