首頁 >常見問題 >什麼是socket程式設計

什麼是socket程式設計

小老鼠
小老鼠原創
2023-07-07 10:55:141865瀏覽

socket編程是傳輸層供給應用層的編程接口,是應用層與傳輸層之間的橋樑,使用Socket編程可以開發客戶機和伺服器應用程序,可以在本地網絡上進行通信,也可透過Internet在全球範圍內通訊。

什麼是socket程式設計

一、socket程式設計簡介

所謂socket通常也稱為」套接字”,用於描述IP位址和端口,是一個通信鏈的句柄。應用程式通常會透過」套接字」向網路發出請求或應答網路請求。我們開發的網路應用程式位於應用層,TCP和UDP屬於傳輸層協議,在應用層如何使用傳輸層的服務?在應用層和傳輸層之間,則是使用套接字來進行分離。

套接字就像是傳輸層為應用層開的一個小口,應用程式透過這個小口向遠端發送數據,或者接收遠端發來的數據;而這個小口以內,也就是數據進入這個口之後,或資料從這個口出來之前,是不知道也不需要知道的,也不會在乎它如何傳輸,這屬於網路其它層次的工作。

Socket實際上是傳輸層供給應用層的程式介面。傳輸層則在網路層的基礎上提供進程到進程問的邏輯通道,而應用層的進程則利用傳輸層向另一台主機的某一進程通訊。 Socket就是應用層與傳輸層之間的橋樑,使用Socket編程可以開發客戶機和伺服器應用程序,可以在本地網路上進行通信,也可透過Internet在全球範圍內通信。

二、兩台電腦間使用套接字建立TCP連線時發生的情況

伺服器實例化一個 ServerSocket 對象,表示透過伺服器上的連接埠通訊。伺服器呼叫 ServerSocket 類別的 accept() 方法,該方法將一直等待,直到客戶端連接到伺服器上給定的連接埠。伺服器正在等待時,一個客戶端實例化一個 Socket 對象,指定伺服器名稱和連接埠號碼來請求連線。 Socket 類別的建構函式試圖將客戶端連接到指定的伺服器和連接埠號碼。如果通訊被建立,則在客戶端建立一個 Socket 物件能夠與伺服器進行通訊。在伺服器端,accept() 方法傳回伺服器上一個新的 socket 引用,該 socket 連接到客戶端的 socket。

以上是什麼是socket程式設計的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn