java 網路編程-(1)引入網路編程

來源:互聯網
上載者:User

標籤:網路編程   網路通訊協定   java   用戶端   伺服器   

網路編程現在是非常普遍的編程技術了,網路編程無非就是兩台或者多台裝置(通常是電腦)之間的相互連信,相互之間的資料轉送。網路編程的實質其實就是程式和程式之間的相互連信,相互傳遞資料。在網路通訊中,第一次主動發起通訊請求的成為用戶端(Client),第一次通訊中等待串連的稱為伺服器端(Server),在網路通訊的過程中,Client端和Server端沒有本質的區別。

那麼,怎樣才能通過用戶端找到伺服器從而進行網路通訊呢?答案就是通過ip來找到伺服器,我們都知道,伺服器上運行著多個程式,也就是多個進程,那麼這是就要通過連接埠號碼來唯一的確定某台伺服器上的某個啟動並執行程式了,格式為“ip:port”,因此,當你在瀏覽器(用戶端)中輸入ip:port後,就會發送請求,伺服器響應後返回結果給瀏覽器,你就可以看到內容了。但是,ip:port很難記憶,這是就出現了網域名稱的概念,如:當你輸入www.baidu.com的時候,就會跳轉到百度的伺服器,你會看到百度的首頁,但實際上還是通過ip:port來訪問伺服器的,你可以輸入103.235.46.39:80看一下,會和你輸入www.baidu.com的結果一樣。那麼,是怎樣將一個網域名稱解析成指定的ip:port呢,這時就會存在一個DNS伺服器(網域名稱解析伺服器),用來動態講網域名稱解析到指定的伺服器上某一個啟動並執行程式,以實現用戶端和伺服器之間的互聯。

在網路通訊的過程中,最常見的通訊模型就是“請求-相應”模型,也就是說,用戶端發一個請求,伺服器端接收到請求處理後響應給用戶端的過程。那麼現在問題來了,用戶端怎樣發送一個請求,伺服器成功接收處理後,響應給用戶端呢,這時,就需要網路通訊協定了。協議,顧名思義就是用戶端和伺服器之間的約定,按照約定的請求資料格式和響應資料格式來實現網路通訊,顯然,這種約定應該遵循“簡單,方便,實用”的原則,這樣才能保證用戶端和伺服器端通訊的成功率。其實,協議就可以隨意編寫的,只要按照編寫的協議格式能夠產生唯一的編碼,按照該編碼可以唯一的解析出發送資料的內容就可以了。正因為各個網路程式之間協議格式的不同,所以用戶端程式都是專用的、特殊的結構。

實際的網路編程中,基本就是發送(send)和接收(accept)兩個操作。大多數支援網路編程技術的程式設計語言,都有特定的api,內部封裝了這兩個操作的介面,編程的時候直接調用就可以了。其實,網路編程中最難的就是網路通訊協定的設計,這是網路編程中最核心的內容,有興趣的可以研究下RFC原理。

java 網路編程-(1)引入網路編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.