A. GPRS模塊作用是什麼
GPRS模塊作用,主要是將串口數據經過GPRS、CDMA、3G等無線網路,將數據傳輸到上位機軟體,實現數據遠程監測。而為那通信的GPRS 模塊也叫WCTU 30XX,還可以將感測器模擬量數據採集轉換成數字量傳輸到後台軟體,實現對前端串口數據與模擬量數據分析和監控。還可以自定義I/O輸入輸出,同時支持自主AES、DES、3DES等加密方式。
B. 操作系統是如何將socket接受的數據發送給應用層的
在正篇開始之前,我先提問幾個問題,不知道你是否全都了解:
(1) 網路請求是通過http發送的嗎?
(2) http與tcp之間的關系?
(3) 網路請求是怎麼發送的,通過什麼形式去發送的?
在過往對於http與tcp的理解其實只是一個簡單模糊的概念,仔細想想其實http只是一種協議,tcp只是用於建立一個持久連接,它們都不是用於網路發送數據的根本,真正發送數據的是我們的物理層,http協議只是作為一個標識的作用,簡單來說是定位到某一主機。
下面來介紹一下計算機網路體系結構
計算機網路分為7層,分別是物理層,數據鏈路層,網路層,傳輸層,會話層,表示層以及應用層,由於7層太多所以後面經過演變之後定為5層,把應用層,會話層,表示層給合統稱為應用層,我們客戶端的每一步操作,舉個例子,當我們點擊發送按鈕請求網路的時候,這時候會通過應用層逐漸往下傳遞直到物理層,物理層會提供一個互聯網網路介面,這時候才真正通過互聯網開始傳輸數據,這里最主要介紹的是傳輸層以及物理層,其它的網路一下,傳輸層是第一個端到端的層次,也是進程——進程的層次。
主要功能是實現端到端的可靠數據傳輸、復用與分解、連接控制、流量控制和擁塞控制(這些東西都是定義去網路一下,比如說流量控制,其實就是控制數據的發送量,你不能一次性發送很多數據,原因想一下就知道了),客戶端的每一步操作都會在這5層體現出來,查下定義之後就會一目瞭然(比如說在我們終止會話,這時候就是由會話層管理,實體間交換數據的語法,解決格式和數據表示的差別是由表示層來完成等),在我們建立連接的時候比如說發送一個http請求(原理跟後面的socket數據傳輸模塊是一樣的),我們會先建立一個tcp連接,然後發送http請求,這時候數據會經過傳輸層,傳輸層里攜帶了發送數據的報文(比如ip地址,埠號之類的,數據內容),向下傳遞到物理層,物理層最後會提供一個互聯網網路介面去發送數據,數據是以比特流的形式發送,發送到交換機上面(交換機是什麼,去網路查一下,不做解釋),交換機是有多個的,當我們數據非常大的時候,數據會被分解發送到多個交換機上面,傳到對方客戶端或者伺服器的時候數據會重新整合起來,上面的是一個簡單的http請求,下面來介紹一下Socket。
1.Socket的整體流程:
udp客戶端:創建套接字,發送數據,接收數據,關閉套接字。
udp服務端:創建套接字,綁定地址和埠號,接收數據,發送數據,關閉套接字。
tcp客戶端:創建套接字,建立連接,發送數據,接收數據,關閉套接字。
tcp服務端:創建套接字,綁定地址和埠號,設置監聽,建立連接,發送數據,接收數據,關閉套接字。
這些理解起來很容易,我們客戶端是要發送數據的,服務端需要接收數據,所以服務端要綁定地址和埠號,而tcp是需要三次握手的所以要有監聽。
2.Socket三次握手
第一次握手,客戶端發送請求給服務端(詢問是否可以建立連接)。
第二次捂手,服務端回應給客戶端一個確認,接受連接或者拒絕連接
第三次握手,經過確認之後,客戶端回應給服務端(意思是我要開始發送數據了,下一步就開始發送了)。
理解三次握手,為什麼要三次,第一次握手確認客戶端可以發送請求,第二次握手確認服務端可以接收並且發送,第三部確認客戶端可以接收。
3.Scoket四次揮手
第一次揮手,客戶端向伺服器發送斷開連接請求
第二次揮手,服務端回應客戶端(意思是,稍等等我數據傳完(處理完的意思),在斷開)
第三次揮手,服務端回應客戶端斷開請求(可以斷開了)
第四次揮手,客戶端與服務端請求斷開。
tcp連接是面向連接的,數據發送可靠,udp是面向無連接的,數據發送過後就不管了,下面介紹一下tcp為什麼數據可靠
具體方法如下:
差錯檢測:我們發送數據的時候剛剛說過是由物理層提供的互聯網網路介面以比特流的形式進行發送,那麼這個時候差錯檢測利用差錯編碼實現數據包傳輸過程中的比特差錯檢測,保證數據正確性
確認:接收方向發送方反饋接收狀態。ACK(肯定確認);NAK(否定確認)
重傳:當沒有接收到反饋狀態。ACK(肯定確認);NAK(否定確認)的時候,或者請求超時的時候進行重新發送
計時器:內部檢測,一個定時器,當數據在一定時間沒有接收到確認的時候就認為發送失敗,進行重傳操作。
序號:剛剛說了重傳有兩種情況,那麼當重傳是因為網路超時引起的,那麼這個時候計時器進行了一次重傳,然後上次超時後並沒有發送失敗這個時候也發送成功了,這個時候就會造成數據錯亂,那麼序號就起了一個作用,就是給數據進行排序,以至於不錯亂。
下面來說一下tcp可靠傳輸協議滑動窗口協議
左邊的代表的是接收的數據,中間代表的是正在處理的,右邊代表的是沒有處理的,在我們發送數據的時候比如56789這些數據發送,56成功了,這時候窗口就會往右移動,接收的時候呢,當我們接收比如56,接收成功了,這時候窗口往右移動,這里有一個需要注意一下,比如說當我們5沒有發送成功或者說5沒有接收成功,而6發送成功了,這時候窗口是不會往右移動的,它會等待5發送成功後在往右移動,浮動窗口協議里還有GBN協議和SR協議,這兩個的主要區別是,GBN協議的發送窗口只能發送一個,比如上面中間准備發送的5678就只能存在5一個,但是接收窗口是可以有多個的,SR協議是可以發送窗口與接收窗口都是可以多個的。
最後總結一下http請求與socket的差異,socket是套接字,用於將報文傳輸到傳輸層,http請求在發送的時候會建立tcp連接,所以http也會分為http持久性連接和非持久性連接,至於網路傳輸都是要經過物理層才能傳輸,數據經過多個交換機進行分解,傳到伺服器的時候在進行整合。
網卡接收到數據根據數據頭,將數據寫到對應的內存,並發出中斷,系統接收到中斷,然後通知應用吧?
VC中客戶端socket與伺服器連接後,需要執行一個封狀的操作
朝伺服器發送一些數據(命令),然後返回結果
假設全部才字元串,類似這樣的函數
CString SendCommand (CString cmd,socket sk)
要求在執行這個函數的時候能同時響應用戶界面操作
也就是要用非同步方式
而且這個socket已經建立好,有RecvTheard在處理
我目前是用Event實現的,很別扭:
m_hevtReadStore=CreateEvent(NULL,false,FALSE,NULL);
//m_tcp是封裝的socket基本操作類
C. vue開發中有幾種網路請求方式用哪一種
選擇什麼網路模塊?Vue中發送網路請求有非常多的方式,那麼,在開發中,如何選擇呢?
選擇一:傳統的ajax是基於XMLHTTPRequest(XHR)
為什麼不用他呢?
非常好解釋,配置和調用方式等非常混亂
編碼起來非常蛋疼
選擇二:JQuery-Ajax 相遇與傳統的ajax非常好用
為什麼不用他?
Vue項目中不適用jquery了。
專門適用ajax專門引用jquery,麻煩
選擇三: vue-resource 體積小
為什麼不用他?
不再更新。
選擇四:axios 用起來方便
功能特點:
在瀏覽器中發送xmlhttprequest請求
在node.js中發送http請求
支持promiseApi
攔截請求和響應
轉換請求和響應數據
D. tcp/ip協議包含哪四層,會有什麼功能
TCP/IP協議包括四個層次:網路介面層、網路層、傳輸層、應用層。
功能:
1、網路介面層
主要用於實現與傳輸媒介相關的物理特性,由下而上來看,對於接收到的物理幀數據,得到IP數據包,交給網路層;由上而下來看,從網路層接收到IP數據包封裝成幀數據,發送到網路中。
2、網路層:
處理來自傳輸層的分組發送請求,收到請求後,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然後將數據報發往適當的網路介面。
處理輸入數據報:首先檢查其合法性,然後進行尋徑--假如該數據者銷報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;核睜假如該數據報尚未到達信宿,則轉發該數據報。處理路徑、流控、擁塞等問題。
3、傳輸層:
提供應用程序間的通信。其功能包括:一、格式化信息流;二、提供可靠傳輸。為實現後者,傳輸層協議規定接收端必須發回確認,並且假如分組丟失,必須重新發送,即耳熟能詳的「三次握手」過程,從而提供可靠的數據傳輸。
4、應用層:
向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網路其它主機上注冊的介面。TELNET會話提供了基於字元的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網路內機器間的文件拷貝功能。
各層協議:
網路層中的協議主要有IP,ICMP,IGMP等,由於它包含了IP協議模塊,所以它是所有基於TCP/IP協議網路的核心。
傳輸層上的主要協議是TCP和UDP。正如網路層控制著主機之間的數據傳遞,傳輸層控制著那些將要進入網路層的數據。
兩個協議就是它管理這些數據的兩種方式:TCP是一個基首氏游於連接的協議;UDP則是面向無連接服務的管理方式的協議。
TCP/IP協議的主要特點
1、TCP/IP協議不依賴於任何特定的計算機硬體或操作系統,提供開放的協議標准,即使不考慮Internet,TCP/IP協議也獲得了廣泛的支持。所以TCP/IP協議成為一種聯合各種硬體和軟體的實用系統。
2、TCP/IP協議並不依賴於特定的網路傳輸硬體,所以TCP/IP協議能夠集成各種各樣的網路。用戶能夠使用乙太網(Ethernet)、令牌環網(Token Ring Network)、撥號線路(Dial-up line)、X.25網以及所有的網路傳輸硬體。
3、統一的網路地址分配方案,使得整個TCP/IP設備在網中都具有惟一的地址
4、標准化的高層協議,可以提供多種可靠的用戶服務。
E. 網路模塊是什麼
網路模塊分發射端模塊和接收端模塊,一般是分別用於網橋主、從兩端的主模塊。信號發射模塊負責發射信號,信號接受模塊負責接收信號。是一一對應的,也可以一發射端多接收端。一對一的稱為POINT TO POINT(點對點)系統,一對多的稱為 MULTIPOINT(點對多點)系統。
(5)發送網路請求是哪個模塊擴展閱讀:
路由器中一般只提供發射端模塊,而它所提供的網路環境中其到接收作用的模塊並非嚴格意義上的接收模塊,是網卡中的網路晶元,其質量的好壞直接影響到網路的優劣度。解決區域網從路由器到電腦終端的網路化問題。
2014年為止,部分的網橋也是利用了網卡晶元來做網路模塊使用,這樣成本較低。嚴格意義上的網橋是不會這么用的。