當前位置:編程學習大全網 - 編程語言 - java網絡技術編程

java網絡技術編程

壹、 客戶端網絡編程步驟

客戶端(Client)是指網絡編程中首先發起連接的程序,客戶端壹般實現程序界面和基本邏輯實現,在進行實際的客戶端編程時,無論客戶端復雜還是簡單,以及客戶端實現的方式,客戶端的編程主要由三個步驟實現:

1、 建立網絡連接

客戶端網絡編程的第壹步都是建立網絡連接。在建立網絡連接時需要指定連接到的服務器的IP地址和端口號,建立完成以後,會形成壹條虛擬的連接,後續的操作就可以通過該連接實現數據交換了。

2、 交換數據

連接建立以後,就可以通過這個連接交換數據了。交換數據嚴格按照請求響應模型進行,由客戶端發送壹個請求數據到服務器,服務器反饋壹個響應數據給客戶端,如果客戶端不發送請求則服務器端就不響應。

根據邏輯需要,可以多次交換數據,但是還是必須遵循請求響應模型。

3、 關閉網絡連接

在數據交換完成以後,關閉網絡連接,釋放程序占用的端口、內存等系統資源,結束網絡編程。

最基本的步驟壹般都是這三個步驟,在實際實現時,步驟2會出現重復,在進行代碼組織時,由於網絡編程是比較耗時的操作,所以壹般開啟專門的現場進行網絡通訊。

二、服務器端網絡編程步驟

服務器端(Server)是指在網絡編程中被動等待連接的程序,服務器端壹般實現程序的核心邏輯以及數據存儲等核心功能。服務器端的編程步驟和客戶端不同,是由四個步驟實現,依次是:

1、 監聽端口

服務器端屬於被動等待連接,所以服務器端啟動以後,不需要發起連接,而只需要監聽本地計算機的某個固定端口即可。

這個端口就是服務器端開放給客戶端的端口,服務器端程序運行的本地計算機的IP地址就是服務器端程序的IP地址。

2、 獲得連接

當客戶端連接到服務器端時,服務器端就可以獲得壹個連接,這個連接包含客戶端的信息,例如客戶端IP地址等等,服務器端和客戶端也通過該連接進行數據交換。

壹般在服務器端編程中,當獲得連接時,需要開啟專門的線程處理該連接,每個連接都由獨立的線程實現。

3、 交換數據

服務器端通過獲得的連接進行數據交換。服務器端的數據交換步驟是首先接收客戶端發送過來的數據,然後進行邏輯處理,再把處理以後的結果數據發送給客戶端。簡單來說,就是先接收再發送,這個和客戶端的數據交換數序不同。

其實,服務器端獲得的連接和客戶端連接是壹樣的,只是數據交換的步驟不同。

當然,服務器端的數據交換也是可以多次進行的。

在數據交換完成以後,關閉和客戶端的連接。

4、 關閉連接

當服務器程序關閉時,需要關閉服務器端,通過關閉服務器端使得服務器監聽的端口以及占用的內存可以釋放出來,實現了連接的關閉。

其實服務器端編程的模型和呼叫中心的實現是類似的,例如移動的客服電話10086就是典型的呼叫中心,當壹個用戶撥打10086時,轉接給壹個專門的客服人員,由該客服實現和該用戶的問題解決,當另外壹個用戶撥打10086時,則轉接給另壹個客服,實現問題解決,依次類推。

在服務器端編程時,10086這個電話號碼就類似於服務器端的端口號碼,每個用戶就相當於壹個客戶端程序,每個客服人員就相當於服務器端啟動的專門和客戶端連接的線程,每個線程都是獨立進行交互的。

這就是服務器端編程的模型,只是TCP方式是需要建立連接的,對於服務器端的壓力比較大,而UDP是不需要建立連接的,對於服務器端的壓力比較小罷了。

  • 上一篇:酷我 kwmv.exe應用程序錯誤 高手解答下 在線等
  • 下一篇:寫好壹部企業宣傳片腳本分為八個步驟
  • copyright 2024編程學習大全網