【粉絲問答11】如何在內網搭建TCP服務器並能被外網直接訪問

本文章由網友:鄧工 投稿,VX:A18665908735  html

歡迎你們加技術大拿好友。node

問題描述

原由:最近公司要作一個4G模塊帶GNSS(全球導航衛星系統)定位功能的產品,上傳傳感器數據和設備定位數據到服務器上,咱們選擇了simcom7600G一個支持全球通的4G模塊,首先在阿里雲的遠程桌面搭建了一個TCP服務器,完成了服務器和4G模塊的TCP通訊。linux

可是服務器畢竟是要收費的,因而就想到在本身在電腦上搭建一個本地服務器測試平臺,方便與4G模塊經過公網進行數據通訊。web

軟件環境:

windows 10windows

  1. 花生殼內網穿透客戶端
  2. SocketTool
  3. 串口調試助手

實現步驟

下面是具體操做步驟,圖文並茂:安全

第一步

先到花生殼的官網下載花生殼內網穿透客戶端,連接是,https://hsk.oray.com/download/服務器

如上圖,點擊免費下載。微信

第二步

如上圖咱們選擇安裝到D盤,接下來依次按步驟安裝完成,安裝完成後,網絡

點擊當即進入app

掃碼註冊

點擊當即註冊會彈出網頁:

註冊帳號

填寫信息,經過手機獲取驗證碼。選擇我的用戶,點擊註冊便可。

註冊成功

【注意上述註冊的域名和後續的截圖上的域名有所差別,後續操做如下面的信息爲準】

而後登陸進入,以下圖:

第三步

如上圖所示,這是我已經建立好了的一個TCP測試例程。

第四步

如上圖所示,若是已經建立好了測試例程,則可點編輯能夠修改測試具體細節,若是是第一次使用,則點擊右下角的+號,進入建立頁面:

第五步

如上圖所示,名字隨便取,這裏咱們取名爲TCP測試1,應用類型選擇TCP,別的能夠本身嘗試,可是HTTP好像是要收幾元認證費用的。

選擇不使用模塊,外網域名是軟件自動生成的,外網端口咱們選擇隨機端口,固定端口要收費的。

內網端口就是你建立的服務器綁定的端口,這裏我事先用TCP/UDP socket測試工具在IP地址爲192.168.1.112的主機上建立了一個端口爲20000的TCP服務器,內網IP地址可經過cmd行工具查看。

如上圖,在命令行輸入 ipconfig  顯示出本機內網IP地址是 192.168.1.112,將其複製到內網主機方框。而後點擊保存,建立完成。

第六步

接下來下載TCP/UDP socket測試工具,下載連接是:http://www.xitongzhijia.net/soft/110847.html 這是一個綠色軟件,解壓後,直接打開軟件。

TCP/UDP socket測試工具

第七步

如上圖,先選中TCP Server,而後監聽端口咱們選擇20000,而後點擊肯定,就建立完成,很是簡單。

第八步

如上圖在建立完TCP測試的花生殼客戶端上點擊診斷:

花生殼作了兩件事情:

  1. 將無線路由器的WAN口地址 103.46.128.45和域名 x3720160v0.wicp.vip進行了綁定
  2. 全部發送給wlan的wan口目的端口號爲 30854的數據包所有轉發給ip地址爲 192.168.1.112的內網的pc,交給該pc上綁定端口號爲 20000的進程

第九步

如上圖所示:必需要顯示鏈接轉發服務器成功和局域網服務器鏈接成功後,纔算真正的可用,若是本地服務器沒有搭建好,局域網服務器會顯示鏈接失敗。

第十步

如上圖:第一次建立好測試項目,客戶端會提示你進入後面網頁管理頁面,這個更好用,後臺管理連接是https://console.hsk.oray.com/forward,

第十一步

如上圖,接鏈接好simcom7600g 4G模塊,打開串口調試助手,波特率選擇爲115200,具體不一樣的4G模塊會有不一樣,串口調試助手網上也有不少個,本身選擇合適本身的就行.

首先讓4G模塊註冊到基站網絡,而後打開4G模塊網絡,查詢分配到的IP地址,接下來就能夠建立TCP鏈接了, 輸入AT命令

AT+CIPOPEN=0,"TCP","x3720160v0.wicp.vip",30854 
  • 0 表示建立的套接字序號,本模塊支持0-9共10個進程。
  • 通訊協議選擇TCP,
  • 域名選擇花生殼生成的免費送的域名,
  • 端口號選擇花生殼生成30854,

特別注意端口號不能寫本身建立的服務器端口號20000,由於花生殼可能進行了端口重映射的,目的多是爲了安全。

第十二步

如上圖所示,咱們先用4G模塊給服務器發送1234754321,服務接收正常,接着服務器向4G模塊發送ABCDEF,串口助手顯示

RECV FROM:103.46.128.45:30854
+IPD6
ABCDEF

至此,測試完成!!

總結

組網環境圖

實際組網圖

如上圖所示,詳細訪問步驟:

  1. 4G模塊經過AT指令,訪問域名 x3720160v0.wicp.vip,目的端口號是30854
  2. DDNS這個協議會將該域名對應的IP地址102.46.128.45返回給該4G模塊,4G模塊就能夠訪問到家裏的無線路由器的wan口
  3. 4G模塊發送的全部的數據包最終會到達家用無線路由器
  4. 無線路由器會把目的端口號是 30854的全部數據包轉發給內網IP地址爲
    192.168.1.112這個pc的綁定了 20000端口號的進程
  5. 因而 TCP/UDP Socket測試工具就會收到4G模塊發送的數據



推薦閱讀


【1】18.基於Cortex-A9 SPI、MCP2515詳解必讀
【2】Linux 虛擬文件系統四大對象:超級塊、inode、dentry、file之間關係
【3】【粉絲問答10】關鍵字static的使用詳解必讀
【4】apt 和 apt-get 之間有什麼區別?必讀
【5】16.從0學arm,基於Cortex-A9 ADC裸機驅動詳解
【6】 17.基於Cortex-A9,i2c 外設詳解 必讀
【7】 【粉絲問答8】用C語言在Linux下實現CC2530上位機-1
【8】 CAN】嵌入式CAN總線入門篇(底層細節) 必讀
【9】 19. Cortex-A9 uboot啓動代碼詳解 必讀
【10】 【粉絲問答9】一塊兒入職的同事能力不如我,只因學歷比我高,工資是個人兩倍 必讀

 


 

進羣,請加一口君我的微信,帶你嵌入式入門進階。


在公衆號內回覆「1024」,便可免費獲取學習資料,期待你的關注~

本文分享自微信公衆號 - 一口Linux(yikoulinux)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索