日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP桥接工具设计

發(fā)布時間:2023/12/20 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP桥接工具设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引言

疫情期間,都被隔離在家,但是開發(fā)不能停,這次調(diào)試的是一個船舶綜測系統(tǒng),硬件和嵌入式組都基本調(diào)好了,我負責(zé)寫上位機,上位機功能比較多,花的時間比較長,主要是通過USB串口接入到硬件設(shè)備上按通信協(xié)議進行數(shù)據(jù)測量。由于不能和硬件組的在一塊調(diào),就想辦法讓串口穿透網(wǎng)絡(luò)讓我這邊的開發(fā)環(huán)境和硬件設(shè)備無障礙、短延遲的聯(lián)通。因此就有了《串口和TCP互相轉(zhuǎn)發(fā)工具》的解決方案。使用這個方案中基本上解決了串口穿透網(wǎng)絡(luò)的問題,不過中間還是經(jīng)過了FRP做了內(nèi)網(wǎng)穿透,閑暇之余,就考慮自己做個輕量級的TCP橋接小工具,此工具應(yīng)該運行在Windows平臺下,是服務(wù)端程序,可以接受多個TCP客戶端的連接,并將從每個TCP連接接收的數(shù)據(jù),轉(zhuǎn)發(fā)給其他連接,實現(xiàn)多個TCP連接間的透明橋接,并盡量做到高效率、高并發(fā)。

這可能應(yīng)用到一些需要遠程聯(lián)通的低速設(shè)備間,最典型的是部署在2個邊緣計算機上,2個計算機串口連接需要通信的設(shè)備,通過此工具將2個串口透明橋接起來,達到串口遠程互聯(lián)。也可以達到使部署在內(nèi)網(wǎng)內(nèi)的計算機直接通過TCP遠程訪問遠端邊緣計算機上的串口的目的,這在數(shù)據(jù)采集、數(shù)據(jù)遠程傳送等場景有比較多的應(yīng)用。

軟件設(shè)計

為了讓橋接更加靈活,軟件設(shè)計了2個監(jiān)聽端口,一個用于完全的透明橋接,一個用于基于標(biāo)簽的橋接。

在非標(biāo)簽橋接中,基本的處理流程就是將從任意一個TCP連接發(fā)來的數(shù)據(jù),轉(zhuǎn)發(fā)給所有其他的TCP連接,沒有應(yīng)用層的連接過程,適合于簡單的點對點透傳。

在基于標(biāo)簽的橋接中,加入了應(yīng)用層的連接建立過程。在TCP連接建立成功后,客戶端需要首先發(fā)送標(biāo)簽信息,具體格式如下:

字段長度(字節(jié))含義
標(biāo)簽44個字節(jié)的整數(shù)標(biāo)簽,標(biāo)簽0保留不可用,用于標(biāo)識非標(biāo)簽橋接連接。-1標(biāo)識此連接雖然建立,但沒有綁定到有效標(biāo)簽。
保留44個字節(jié)的保留字段,用于以后協(xié)議擴展
校驗11個字節(jié)的校驗和,將前面8個字節(jié)相加得到的結(jié)果
用戶數(shù)據(jù)流任意承載的用戶數(shù)據(jù)流

TCP橋接工具接收夠9個字節(jié)后,對前8個字節(jié)進行校驗和計算,如果計算的結(jié)果和第9個字節(jié)相符,則認為是正確的標(biāo)簽,則將此連接和此標(biāo)簽關(guān)聯(lián)。如果校驗和不正確,說明客戶端發(fā)送的協(xié)議不是橋接協(xié)議,則直接斷開連接。這樣所有的客戶端連接都會在TCP橋接工具上關(guān)聯(lián)到一個標(biāo)簽上。關(guān)聯(lián)好標(biāo)簽后,當(dāng)一個TCP連接數(shù)據(jù)給TCP橋接工具時,TCP橋接工具會查找此連接關(guān)聯(lián)的標(biāo)簽,并將數(shù)據(jù)轉(zhuǎn)發(fā)給所有關(guān)聯(lián)到此標(biāo)簽的連接。

軟件界面如下:

?

軟件測試

軟件設(shè)計每個端口最大并發(fā)1000連接,經(jīng)過壓力測試,軟件能在每個端口并發(fā)1000的壓力下持續(xù)穩(wěn)定運行,而占用資源并不是太高。

軟件下載

軟件下載鏈接如下,有什么意見和好的建議歡迎討論。

TCP橋接工具V2.2.2.1 - 多線程版,嵌入式網(wǎng)絡(luò)穿透調(diào)試?yán)?/p>

https://download.csdn.net/download/kernelspirit/85310399

總結(jié)

以上是生活随笔為你收集整理的TCP桥接工具设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。