udp如何雙向通信?
udp如何雙向通信?首先,UDP和TCP都是通信協(xié)議。由于它們代表通信協(xié)議,UDP和TCP都建立了一個“通道”來在服務(wù)器和客戶端之間發(fā)送和接收數(shù)據(jù)。它們之間的主要區(qū)別在于:UDP協(xié)議是一種非面向連接(
udp如何雙向通信?
首先,UDP和TCP都是通信協(xié)議。由于它們代表通信協(xié)議,UDP和TCP都建立了一個“通道”來在服務(wù)器和客戶端之間發(fā)送和接收數(shù)據(jù)。
它們之間的主要區(qū)別在于:UDP協(xié)議是一種非面向連接(不可靠)的傳輸協(xié)議,也就是說,它不需要建立與服務(wù)器的連接就可以將數(shù)據(jù)直接發(fā)送到服務(wù)器。同時,沒有任何機(jī)制可以確保數(shù)據(jù)已成功發(fā)送到服務(wù)器。
TCP協(xié)議是一種面向連接(可靠)的傳輸協(xié)議。在客戶端向服務(wù)器傳輸數(shù)據(jù)之前,客戶端和服務(wù)器必須通過“三握手”完成連接的建立。在隨后的數(shù)據(jù)傳輸過程中,為了可靠地傳輸,接收方將發(fā)送ACK分組,使發(fā)送方知道該分組已經(jīng)成功發(fā)送,否則發(fā)送方將重新發(fā)送分組,直到超時或成功為止。
因此,無論是UDP協(xié)議還是TCP協(xié)議,服務(wù)器都必須先偵聽某個端口才能提供服務(wù)。
例如,如果服務(wù)器監(jiān)視端口9090,而客戶端使用端口3456(隨機(jī)分配)與服務(wù)器建立連接,則只有一個通道,即:a:9090<->;B:3456。