Java中套接字類型:TCP套接字(流套接字),UDP套接字(數據報套接字)和原始套接字。
TCP 和 UDP 扮演相同角色,但做法不同。
兩者都接收傳輸協議數據包並將其內容向前傳送到表示層。
TCP 把消息分解成數據包(數據報,datagrams)並在接收端以正確的順序把它們重新裝配起來。TCP 還處理對遺失數據包的重傳請求。有了 TCP,位於上層的層要擔心的事情就少多了。
UDP 不提供裝配和重傳請求這些功能。它只是向前傳送信息包。位於上層的層必須確保消息是完整的並且是以正確的順序裝配的。
一般而言,UDP 強加給您的應用程序的性能開銷更小,但只在應用程序不會突然交換大量數據並且不必裝配大量數據報以完成一條消息的時候。否則,TCP 纔是最簡單或許也是最高效的選擇。