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

基于安卓平臺的HTTP數據網關設計與實現

2020-12-02 07:48:07劉力維
科技創新與應用 2020年34期

劉力維

摘? 要:文章介紹了一種在安卓平臺上實現基于HTTP協議數據網關的方法,并詳細闡述了數據網關與終端網絡設備之間數據傳輸的實現過程。

關鍵詞:安卓平臺;服務器;應用開發

中圖分類號:TP311? ? ? ? ?文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)34-0086-02

Abstract: This paper introduces a method of implementing data gateway based on HTTP protocol on Android platform, and elaborates the implementation process of data transmission between data gateway and terminal network equipment.

Keywords: Android platform; server; application development

1 HTTP數據網關功能概述

數據網關廣泛應用于各種網絡數據采集與傳輸系統,為終端網絡設備提供數據傳輸的接口,實現對終端網絡設備發起的數據傳輸請求的解析和響應。HTTP協議是一種典型的基于請求、響應機制的應用層協議,通過對協議報文的構造,可以方便地將HTTP協議用于實現數據網關各項功能。

隨著移動智能設備的普及,安卓在嵌入式系統中獲得了越來越廣泛的應用。本文介紹的數據網關就是一個實現了HTTP數據服務器功能的安卓應用系統。系統功能框圖如圖1所示。數據網關和終端網絡設備之間通過HTTP協議進行數據通信,接收終端網絡設備的數據傳輸請求,并負責向終端網絡設備發出正確的響應。數據網關作為終端設備的數據服務器,其數據通常來源于本地或網絡數據庫存儲的數據,在網絡采集與傳輸系統中,數據也可能獲取自單獨的數據采集設備。

2 數據網關與終端設備之間的數據傳輸過程

數據網關與終端網絡設備之間的數據傳輸過程可以按功能分解為兩個主要部分,如圖2所示。

首先是數據的封裝及解析過程。在網絡終端設備上,進行數據發送前,需要將發送數據按照一定格式進行封裝,以便數據網關接收數據后能夠通過解析過程得到正確的數據。在數據網關向網絡終端設備發送響應報文時同樣需要數據的封裝和解析過程。

第二部分功能是基于HTTP協議的網絡報文收發。具體包括終端網絡設備向數據網關發送HTTP請求;數據網關對該HTTP請求的接收;數據網關向網絡終端設備發送HTTP響應以及終端網絡設備接收處理HTTP響應的過程。安卓平臺上使用HTTP客戶端相關類和方法實現終端網絡設備功能相對來說比較簡單,本文主要分析數據網關上述數據傳輸過程的具體實現。

3 數據封裝的實現

終端網絡設備與數據網關之間傳輸的數據通常包含多種類型。為了實現對多種類型數據的傳輸,在HTTP數據包中采用了JSON數據格式對數據進行封裝[1]。數據傳輸過程如下:

終端網絡設備構造HTTP POST請求發送給數據網關,將傳輸數據以JSON對象的形式封裝入HTTP請求的消息實體中。通過put方法可以向一個JSON對象添加數據。JSON對象內部包含多個鍵值對,用來描述具體的請求數據。

在數據網關上,首先從接收到的HTTP請求得到消息實體,然后使用JSON對象的getString等方法對消息實體進行解析,即可得到具體的請求數據。

在數據網關發送給終端網絡設備的HTTP響應數據包中,同樣可以進行JSON對象的封裝,并由終端網絡設備進行解析,以實現HTTP響應報文的數據傳遞。

4 數據網關上HTTP協議數據處理的實現

數據網關通過NanoHTTPD實現了HTTP服務器功能。NanoHTTPD是一個免費、輕量級的HTTP服務器,支持多種HTTP請求,通過幾個主要方法和類實現對客戶端連接請求的偵聽和數據的傳輸。

實現HTTP網絡數據傳輸的第一步,是建立客戶端與服務器間的TCP連接并在適當的時候斷開該連接。在建立TCP連接的過程中,終端網絡設備作為客戶端,其任務比較簡單:發起連接請求,等待服務器的響應并完成握手。數據網關作為服務器,負責TCP連接的偵聽、建立和維護工作。在NanoHTTPD中,這部分工作主要在start方法中完成。首先,創建ServerSocket類的實例,并綁定本HTTP連接的主機IP地址和所使用的端口號。接著,在start方法中創建線程,并改寫線程的run方法,用于等待并接收客戶端的連接。在run方法中首先調用ServerSocket的accept方法,程序將阻塞在這里偵聽客戶端的連接請求。當有客戶端請求連接時,程序繼續運行,設置HTTP session的Keep Alive時間。一旦客戶端與服務器之間的HTTP連接持續處于空閑狀態超過該時間,服務器將關閉該HTTP連接。

在start方法創建線程并接收客戶端的連接請求后,通過得到的Socket實例創建用于數據收發的輸入輸出流,并通過AsyncRunner創建一個獨立的線程,來處理這個新的客戶端連接。新線程首先創建一個本地臨時文件,該文件將在后面用于存儲客戶端上傳的數據。然后,創建對應該連接的HttpSession,并將臨時文件和輸入輸出流作為輸入參數傳遞給該session。最后,通過while循環執行 HttpSession的exec方法進行客戶端數據處理,只要該客戶端連接沒有被關閉,該方法將被循環調用。HttpSession的execute方法主要功能是對接收到的客戶端數據進行處理,解析出HTTP請求消息的頭域信息和消息實體信息。對于本文中的HTTP網絡數據傳輸應用,消息實體中存放的是終端網絡設備HTTP請求的具體內容。通過改寫exec方法調用的serve方法,實現終端網絡設備封裝的JSON對象的解析,可以得到終端網絡設備發送的具體請求。通過上述過程,實現了終端網絡設備到數據網關的一次完整數據請求。

數據網關向終端網絡設備發送HTTP響應的過程與前述過程類似,這里不再贅述。

5 HTTP數據網關的應用

本文中的數據網關采用HTTP協議,基于IP地址或域名實現網絡數據傳輸。該方法既可以應用于有線局域網,也可以基于Wi-Fi等無線網絡技術[2]實現移動終端設備與數據網關間的數據傳輸。如果為數據網關分配公網域名和IP地址,則可實現基于廣域網的遠程數據傳輸。

參考文獻:

[1]龔建華.JSON格式數據在Web開發中的應用[J].辦公自動化:綜合月刊,2013(20):46-48.

[2]李立芬.基于Wi-Fi技術在電信業務中的應用[J].中國多媒體通信,2012(12):67-68.

[3]宋銳星,朱小勇,胡琳琳,等.HTTP媒體傳輸方式簡述[J].網絡新媒體技術,2020,9(03):61-67.

主站蜘蛛池模板: 91网在线| 久久人人97超碰人人澡爱香蕉| 国产麻豆另类AV| 亚洲人成网站在线播放2019| 亚洲天堂伊人| 97se亚洲综合在线韩国专区福利| 国产高清不卡| 久久中文电影| 亚洲欧美一区二区三区麻豆| 国产成人啪视频一区二区三区| 亚洲综合中文字幕国产精品欧美| 国产成人盗摄精品| 亚洲va在线∨a天堂va欧美va| YW尤物AV无码国产在线观看| 日本91视频| 国产产在线精品亚洲aavv| 午夜免费小视频| 99在线观看免费视频| 国产人碰人摸人爱免费视频| 国产成人精品日本亚洲| 中国成人在线视频| 视频国产精品丝袜第一页| 欧美日韩中文国产| 女人18毛片久久| 夜夜拍夜夜爽| 亚洲人成网站观看在线观看| 国产91九色在线播放| 日韩亚洲综合在线| 亚洲国产精品一区二区第一页免 | 3p叠罗汉国产精品久久| 亚洲人成人无码www| 欧美伊人色综合久久天天| 91九色国产porny| 青草视频在线观看国产| 久久天天躁狠狠躁夜夜躁| 精品国产一二三区| 国产在线小视频| 亚洲五月激情网| 欧美曰批视频免费播放免费| www.youjizz.com久久| 又黄又湿又爽的视频| 美女扒开下面流白浆在线试听| 大香伊人久久| 91久久夜色精品| 欧美精品aⅴ在线视频| 99热最新在线| 精品久久久无码专区中文字幕| 无码丝袜人妻| 视频二区亚洲精品| 国产美女视频黄a视频全免费网站| 国产高清在线观看| 久久永久精品免费视频| 亚洲女同一区二区| 国产成人久久综合777777麻豆| 亚洲中文久久精品无玛| 欧美成人一级| 91成人免费观看| 中文字幕av无码不卡免费| 亚洲一本大道在线| 亚洲精品国产日韩无码AV永久免费网| 在线高清亚洲精品二区| 毛片手机在线看| 成·人免费午夜无码视频在线观看| 国产内射在线观看| 午夜精品久久久久久久无码软件 | 欧美一级在线| 亚洲精品在线91| 国产成人精品在线| 丁香六月激情综合| 玩两个丰满老熟女久久网| 久久国产精品77777| 91区国产福利在线观看午夜| 国内精品91| 无码视频国产精品一区二区| 伊人91视频| 久久久久久久久久国产精品| 国产精品视频久| 青青国产成人免费精品视频| 国产精品极品美女自在线网站| 国产地址二永久伊甸园| 国产中文一区二区苍井空| 呦女亚洲一区精品|