天天看點

網絡程式設計相關概念

協定:互相通信的程式間達成的一種約定,規定了分組封包的交換方式和封包的含義。

TCP/IP 協定也稱為TCP/IP協定族,既能用于網際網路,也能在獨立的專用網絡中使用。TCP/IP協定族主要協定有:IP協定(Internet Protacol 網際網路協定),TCP協定(Transmission Control Protocol,傳輸控制協定)和UDP(User Datagram Protocol,使用者資料報協定)。IP協定屬于網絡層,它使兩個主機間的一系列通信信道和路由器看起來像是單獨一條主機到主機的通道。TCP和UDP位于傳輸層建立與IP層所提供的服務基礎上,使用者可根據不同需求選擇TCP或UDP,它們有一個共同功能:尋址,它們使用端口号(Port number)來區分同一主機中的不同應用程式。但TCP協定能夠檢測和恢複IP層提供的主機到主機的信道中可能發生的封包丢失,重複及其他錯誤。而UDP協定并補償是對IP層産生的錯誤進行修複,僅僅簡單的拓展了IP協定的“盡力而為”的資料服務,是它能夠在應用程式之間工作,而不是主機之間工作,使用UDP協定的應用程式必須為處理封包丢失,順序混亂的問題做好準備。

用戶端和服務端:用戶端是通信的發起者,服務端則是被動等待用戶端發起通信,并對其作出響應。

套接字(socket):應用程式通過它來發送和接收資料,就如應用程式打開一個檔案句柄,将資料寫到穩定的存儲器上一樣。TCP/IP中主要的socket類型為流套接字(stream socket)和資料報套接字(datagram socket),流套接字使用TCP協定,提供一個可信賴的位元組流服務,資料報套接字使用UDP協定提供一個“盡力而為”的資料服務。

繼續閱讀