999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-12-21 21:23:46鄭嘉濤華南師范大學(xué)
數(shù)碼世界 2018年2期
關(guān)鍵詞:跨平臺語言方法

鄭嘉濤 華南師范大學(xué)

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

1 項目背景

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

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

2 具體實現(xiàn)

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

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

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)概述

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

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

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

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

3 結(jié)論

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

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

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

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

猜你喜歡
跨平臺語言方法
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
跨平臺APEX接口組件的設(shè)計與實現(xiàn)
讓語言描寫搖曳多姿
累積動態(tài)分析下的同聲傳譯語言壓縮
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
我有我語言
捕魚
基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計與實現(xiàn)
基于OPC跨平臺通信的電機(jī)監(jiān)測與診斷系統(tǒng)
主站蜘蛛池模板: 成人va亚洲va欧美天堂| 91在线视频福利| 91精品专区| 免费一级毛片完整版在线看| 国产精品午夜电影| 青青青视频免费一区二区| 国产亚洲欧美在线人成aaaa| 国产成人亚洲精品无码电影| 久久成人国产精品免费软件| 国产综合无码一区二区色蜜蜜| 欧美精品啪啪| 成人在线观看一区| 日韩无码黄色网站| 91久久国产综合精品| 国产手机在线观看| 久久6免费视频| 亚洲h视频在线| 欧美成人精品在线| 男人天堂亚洲天堂| 青青热久免费精品视频6| 国产自在线拍| 久久国产拍爱| 亚洲国产成人精品青青草原| 久久精品人人做人人爽电影蜜月 | 99精品免费在线| 五月天福利视频| 国模私拍一区二区| 亚洲国产成人超福利久久精品| 婷婷六月天激情| 青青草原国产精品啪啪视频| 午夜免费小视频| 国产农村妇女精品一二区| 手机精品福利在线观看| 99国产精品免费观看视频| 成人午夜视频在线| 伊人久久久大香线蕉综合直播| 无码福利视频| 国产69精品久久久久孕妇大杂乱 | 国产毛片片精品天天看视频| 国产高清在线精品一区二区三区| 狠狠色婷婷丁香综合久久韩国| 亚洲日韩高清在线亚洲专区| 久久精品国产电影| 99在线国产| 色呦呦手机在线精品| 黄色网址免费在线| 国产一区二区三区在线观看视频 | 人与鲁专区| 亚洲精品视频免费观看| 欧美一区二区三区不卡免费| 久久久久久午夜精品| 国产97公开成人免费视频| 青青国产成人免费精品视频| 亚洲日本中文综合在线| 久久婷婷色综合老司机| 国产精品亚洲片在线va| 蜜芽国产尤物av尤物在线看| 天天综合网色| 欧美日本在线一区二区三区| 欧美一区日韩一区中文字幕页| 青青草一区二区免费精品| 色爽网免费视频| 在线日本国产成人免费的| 欧美不卡视频一区发布| 国产激爽爽爽大片在线观看| 蜜臀AVWWW国产天堂| 日本高清免费一本在线观看| 免费a级毛片视频| 婷婷六月激情综合一区| 国产成人区在线观看视频| 免费人成又黄又爽的视频网站| 国产在线啪| 伊人91视频| 精品人妻无码中字系列| 国产特级毛片aaaaaaa高清| 国产又爽又黄无遮挡免费观看| 亚洲精品无码专区在线观看| 欧美精品高清| 97国产一区二区精品久久呦| 无码精品一区二区久久久| 久久熟女AV| 日本免费福利视频|