最近一直使用qt開發一些配合裝置除錯用的軟體,從中遇到一些問題,簡單記錄一下。
背景:在同一臺筆記本上,同時執行3個基於qt開發的軟體,這三個軟體之間通過udp組播或單播進行通訊
場景一:將3個軟體(a、b、c)需要繫結的ip設定在同乙個網絡卡上,繫結同乙個埠號
由於存在a軟體傳送組播,b軟體需要接收的相關組播裡的報文情況,故需要網絡卡可以自發自收,即
recvsocket->bind(qhostaddress("192.1.104.1"),0x6666,qabstractsocket::shareaddress);//繫結ip和埠號recvsocket->setsocketoption(qabstractsocket::multicastloopbackoption,1);//設定回環,可自發自收
注:由於在windows系統上執行,故在網路的接收端套接字設定即可
場景二:將3個軟體(a、b、c)需要繫結的ip設定在不同的網絡卡上,繫結同乙個埠號,即該筆記本為多網絡卡環境
多網絡卡同時執行,即使設定了多播回環,軟體之間也無法通過udp組播進行通訊,故需要在加入組播時,繫結對應網絡卡
//可以檢視網絡卡資訊
qlistifacelist =qnetworkinte***ce::allinte***ces();
for(int i =0;i)
//接收網路套接字 設定網絡卡
recvsocket->setmulticastinte***ce(ifacelist[0
]);//
加入組播,新增對應網絡卡
recvsocket->joinmulticastgroup(qhostaddress("
224.100.200.113
"),ifacelist[0]);
問題:多個軟體同時執行,且對應繫結的ip均部署在同乙個網絡卡上,使用同乙個埠,可以進行軟體與軟體之間的單播通訊嗎?
回答:可以
Cent OS下配置多tomcat同時執行
核心思想 放在不同的目錄下,修改埠及環境變數 1 配置profile vi etc profile2 加入以下 tomcat路徑要配置自己實際的tomcat安裝目錄 first tomcat catalina base usr local tomcat catalina home usr local...
設定本地wamp環境掛載多站點同時執行
之前寫過一篇關於在linux環境下配置虛擬主機的文章 現在又有一種場景 在本地同時寫多個專案 可本地的wamp環境下預設只有乙個www目錄 這樣經常修改目錄很痛苦 那麼幸福就這麼猝不及防的來了 下面就介紹下如何在本地配置wamp多目錄 示例環境 wampserver版本 2.2 wamp目錄 e t...
shell多個指令碼同時執行
1 編寫多程序實驗指令碼 demo.sh bin bash sub1.log sub2.log sub3.log function sub1 doecho date t sub1.log 注意date 和 號之間有空格。如 date m d date取 月 日 的命令列。sleep 1 done f...