• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Java 簡單HTTP Server的設計與實現(xiàn)

      2018-12-21 21:23:46鄭嘉濤華南師范大學
      數(shù)碼世界 2018年2期
      關鍵詞:跨平臺局域網(wǎng)框架

      鄭嘉濤 華南師范大學

      在現(xiàn)代社會中,互聯(lián)網(wǎng)的重要性不言而喻,據(jù)《中國互聯(lián)網(wǎng)發(fā)展報告2017》顯示,2016年中國數(shù)字經(jīng)濟總量達到22.6萬億元,躍居全球第二,占GDP比重達30.3%,成為經(jīng)濟增長的新引擎和新亮點。因此,互聯(lián)網(wǎng)仍然具有巨大的生機。本文主要論述互聯(lián)網(wǎng)的體系中HTTP協(xié)議及使用JAVA構建HTTP Server。

      1 項目背景

      HTTP協(xié)議是Web中B/S架構最重要的部分之一,它定義了客戶機與服務器間的通信的方法,最常用的方法就是GET、和POST,我們常使用GET方法來向服務器請求,使用POST方法來向服務器提交或者上傳。在HTTP協(xié)議中還有統(tǒng)一資源定位符URL,它是對互聯(lián)網(wǎng)上的資源的位置以及訪問方法的一種簡潔的表示,用來描述互聯(lián)網(wǎng)上的文件。

      互聯(lián)網(wǎng)上有多種常見的服務器框架,例如著名的Apache Tomcat、Nginx等,那么為什么我們要使用JAVA的原生api來建立HTTP Server呢,因為盡管框架很多,但是基礎是類似的,而如果只是不斷的使用框架,那么我們是無法理解框架的本質的,因此我們需要使用原生api來建立HTTP Server。

      2 具體實現(xiàn)

      建立HTTP Server的方式有多種,這里采用了JAVA語言,因為JAVA語言是我們最一門設計良好的優(yōu)秀的跨平臺語言,且JAVA在移動平臺上也得到了廣泛的應用,因此使用JAVA來建立HTTP Server,可以方便的在不同平臺上遷移,實現(xiàn)良好的跨平臺效果。

      在PC上建立時我們可以使用127.0.0.1的環(huán)回地址進行測試,而在android上則可以使用如下代碼來獲取android設備的局域網(wǎng)地址,使用局域網(wǎng)地址和處于同一個局域網(wǎng)的電腦主機進行測試。

      public static String getLocalIpStr(Context context){

      WifiManagerwifiManager=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);

      WifiInfo wifiInfo=wifiManager.getConnectionInfo();

      return intToIpAddr(wifiInfo.getIpAddress());

      }

      private static String intToIpAddr(int ip){

      return (ip & 0xFF)+"."+ ((ip>>8)&0xFF) + "."+((ip>>16)&0xFF) + "."+ ((ip>>24)&0xFF);

      }

      2.1 代碼實現(xiàn)概述

      基礎的HTTP Server中我們只需要實現(xiàn)GET方法和POST方法就可以建立起一個HTTP Server了。GET方法用來向服務器請求資源,當服務器接受到HTTP請求時,就檢查HTTP的頭部,如果頭部中有GET字段,就檢查服務器中是否有URL所請求的資源,如果有則返回,沒有則返回404錯誤信息。

      對于POST方法,操作要復雜一些,因為這里是使用POST方法向HTTP Server發(fā)送,文件,需要HTTP Server做好接收,同時也需要HTTP Server對文件的信息進行判斷。本地上傳的最大問題就是大文件的上傳,如何將大文件分片并且上傳,同時保證傳輸不出錯,這就需要客戶端瀏覽器有一定的計算能力了,也就是要使用活動網(wǎng)頁的技術,使用JavaScript語言來在瀏覽器上對文件進行一定的控制。

      2.2 代碼實現(xiàn)優(yōu)化

      在HTTP Server的構建過程中,我們應該想到將來可能遇到的變化,例如我們要對軟件進行升級以及維護。軟件開發(fā)中常常會有一些bug出現(xiàn),時常出乎預料,因此我們要提前做好準備,預期后面的升級維護,否則面對越來越大的系統(tǒng),要做改變時都會覺得無從下手。因此軟件開發(fā)過程中,要注重設計模式的思想,將接受請求的HTTP連接的類獨立出來,使用一個單體模式來獲得這個類的對象。使用工廠模式來創(chuàng)建HTTP連接的處理類,方便擴展更多功能。同時,系統(tǒng)應將不同的功能模塊獨立開發(fā),每個模塊之間進行有機組合,降低整體復雜度。

      3 結論

      本文討論了實現(xiàn)HTTP Server的方法,并對HTTP協(xié)議進行了簡單分析,并使用JAVA語言編寫,最終實現(xiàn)簡單HTTP Server。

      [1]David Gourley, Brian Totty, Marjorie Sayer, Sailu Reddy,Anshu Aggarwal 著. HTTP 權威指南[M]. 陳涓,趙振平譯. 北京:人民郵電出版社, 2012.

      [2]王遠洋, 周淵平, 郭煥麗. Linux 下基于 Socket 多線程并發(fā)通信的實現(xiàn)[J]. 微計算機信息, 2009, 25(5).

      [3]李芝新,楊瑞龍.Java程序設計之網(wǎng)絡編程[M].北京:清華大學出版社, 2009.

      猜你喜歡
      跨平臺局域網(wǎng)框架
      框架
      廣義框架的不相交性
      基于VPN的機房局域網(wǎng)遠程控制系統(tǒng)
      電子制作(2019年16期)2019-09-27 09:35:04
      跨平臺APEX接口組件的設計與實現(xiàn)
      測控技術(2018年9期)2018-11-25 07:44:58
      基于802.1Q協(xié)議的虛擬局域網(wǎng)技術研究與實現(xiàn)
      電子制作(2017年17期)2017-12-18 06:40:48
      局域網(wǎng)性能的優(yōu)化
      電子制作(2017年8期)2017-06-05 09:36:15
      WTO框架下
      法大研究生(2017年1期)2017-04-10 08:55:06
      一種基于OpenStack的云應用開發(fā)框架
      基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設計與實現(xiàn)
      基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
      会宁县| 湘潭县| 晋城| 岳普湖县| 木兰县| 邳州市| 寿宁县| 丽水市| 梁河县| 宿迁市| 张家川| 辰溪县| 喀什市| 竹溪县| 讷河市| 耒阳市| 白银市| 重庆市| 井研县| 盐山县| 太康县| 长岭县| 任丘市| 尼木县| 临安市| 尖扎县| 塘沽区| 安义县| 阜新市| 临汾市| 岚皋县| 宽甸| 东至县| 哈巴河县| 邯郸市| 台东县| 泗水县| 江西省| 叶城县| 晋江市| 天长市|