女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術Linux主板Qt網絡應用程序簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-17 09:42 ? 次閱讀

Linux中的網絡編程是通過socket接口來進行的。我們常說的socket接口是一種特殊的I/O,它也是一種文件描述符,關于socket編程的應用可以參考英創公司光盤中使用必讀的相關內容。

現在在英創公司提供的例程Step3_TCPServe基礎上,加入Qt顯示單元,使其能通過顯示屏進行操作,基本的思想是還是利用Qt的信號和插槽機制進行對象間的通訊,當接收到的數據的時候,發出Signal,Qt 的事件循環中接收到這個信號,調用定義好的Slot顯示接收到的數據。

Step3_TCPServe是一個支持多個客戶端的連接TCPServer示例,該例程采用了面向對象的C++編程,創建了CTCPServer和CTCPCustom兩個類,其中CTCPServer類負責偵聽客戶端的連接,一旦有客戶端請求連接,它就負責接受此連接,并創建一個新的CTCPCustom類對象與客戶端進行通訊,然后CTCPServer類接著監聽客戶端的連接請求,所以需要讓CTCPServer類和CTCPCustom類繼承QObject類的屬性,使QObject成為CTCPServer類和CTCPCustom類的基類,然后在CTCPServer類和CTCPCustom類中各加入一個signal,讓CTCPServer類和CTCPCustom類的信號關聯,這樣當CTCPCustom類發出信號CTCPServer類也會發出信號,再讓CTCPServer類的信號和Qt顯示通過信號和插槽的機制連接,但是對于網絡通信的操作部分并不用做修改,原理如下圖:

繼承QObject類的屬性,加入信號和槽的方法在《英創Linux主板Qt串口應用程序簡介》中有較詳細的說明,在CTCPCustom類中,添加的方法也一樣,當判斷接收到數據時,發送信號,添加程序:

emit pSocket->readyRead(pSocket->RecvBuf);

在前面提到,在CTCPServer類中,當判斷有客戶端請求連接時,會創建一個CTCPCustom類對象與客戶端進行通訊,這時再將CTCPServer類和CTCPCustom類的信號關聯:

connect(pClientSocket,SIGNAL(readyRead(QString)),pSocket,SIGNAL(readyRead(QString)));

在Qt中,將兩個信號關聯,如同上面那樣,當pSocket中的信號發送時,pClientSocket中的信號也會跟著發送。

最后在顯示窗口Widget類中,將CTCPServer類的信號和顯示槽函數關聯:

connect(m_TCPServer,SIGNAL(readyRead(QString)),this,SLOT(readData(QString)),Qt::QueuedConnection);

然后可以在顯示界面中添加了一些其他功能組件,比如按鈕等,然后編寫組件的事件響應函數,實現想要的功能,在本例程中,添加了一些按鈕和顯示,用來選擇啟動TCPServer,顯示IP和端口號等,部分實現代碼如下:

void Widget::on_startpushButton_clicked() //偵聽按鈕
{
char buff_1[16],buff_2[16];
m_TCPServer=new CTCPServer;
m_TCPServer->m_LocalPort = 1001;
if((m_TCPServer->Open())<0)
{
QMessageBox::information(this,tr('錯誤'),tr('創建失敗'),QMessageBox::Yes);
delete m_TCPServer;
return;
}
connect(m_TCPServer,SIGNAL(readyRead(QString)),this,SLOT(readData(QString)),Qt::QueuedConnection); //關聯信號和槽
ui->startpushButton->setEnabled(false);
ui->textBrowser_3->setEnabled(true);
QString s=QString::number(m_TCPServer->m_LocalPort,10);
ui->textBrowser_3->insertPlainText(s); //顯示端口號
ui->textBrowser_2->setEnabled(true);
if((m_TCPServer->get_inetip('eth0',buff_1))==0)
{
//顯示eth0的IP地址
ui->textBrowser_2->append( QString(QLatin1String(buff_1)));
}
if((m_TCPServer->get_inetip('eth1',buff_2))==0)
{
//顯示eth1的IP地址
ui->textBrowser_2->append( QString(QLatin1String(buff_2)));
}
ui->closepushButton->setEnabled(true);
}

最后在工程中添加main.cpp,在main函數中,主要是對字體進行設置,并且顯示我們設計的窗口:

int main( int argc,char* argv[] )
{
QApplication a(argc, argv);
QFont font('simsun',9,QFont::Bold); //設置字體
QTextCodec::setCodecForTr(QTextCodec::codecForName('utf8'));
a.setFont(font);
Widget w;
w.show();
return a.exec(); //返回Qt事件循環
}

程序運行效果:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11459

    瀏覽量

    212788
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6096

    瀏覽量

    36138
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產主板的發展提供了廣
    的頭像 發表于 05-09 09:24 ?126次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    龍芯主板是安全可信基石,可守護信息資產

    網絡安全中,信息安全至關重要。龍芯主板內置安全啟動技術,從硬件層級構建起堅實的防護體系。同時,龍芯主板支持國產麒麟、UOS等操作系統,通過
    的頭像 發表于 04-22 09:12 ?139次閱讀

    技術案例】Qt 環境部署 - Ubuntu 篇

    什么是QtQt是一個跨平臺C++圖形用戶界面應用程序開發框架,可構建高性能的桌面、移動及Web應用程序,也可用于開發非GUI程序,比如控制
    的頭像 發表于 04-16 17:17 ?309次閱讀
    【<b class='flag-5'>技術</b>案例】<b class='flag-5'>Qt</b> 環境部署 - Ubuntu 篇

    Linux的作用

    學校和教育機構使用Linux來教授計算機科學和信息技術相關的課程。 總之,Linux是一個功能強大、靈活且廣泛應用的操作系統,適用于各種不同的用途和場景。
    發表于 04-04 01:57

    ElfBoard技術貼|如何在ELF 1開發板上交叉移植Qt

    在嵌入式系統開發領域,針對特定硬件平臺進行Qt框架的移植與適配是一項關鍵技術任務。作為業界主流的跨平臺應用開發框架,Qt憑借其完善的圖形界面支持能力,在嵌入式開發圖形界面應用程序中占據
    的頭像 發表于 02-24 16:18 ?485次閱讀
    ElfBoard<b class='flag-5'>技術</b>貼|如何在ELF 1開發板上交叉移植<b class='flag-5'>Qt</b>

    芯盛智能榮獲2024年信息技術應用創新工作委員會卓越貢獻成員單位

    日前,中國電子工業標準化技術協會信息技術應用創新工作委員會(以下簡稱 “信工委會”)2024 年度總結座談會于北京隆重舉行。此次會議對在信工作中作出突出貢獻的成員單位予以表彰。江蘇
    的頭像 發表于 01-20 09:56 ?517次閱讀

    基于QT開發國產主板終端桌面程序 高效、穩定、跨平臺的解決方案

    了開發者們面臨的一個重要挑戰。本文將介紹如何基于QT框架,開發適用于國產主板的終端桌面程序,并探討其優勢和應用場景。 QT是一個跨平臺的C++圖形用戶界面
    的頭像 發表于 01-08 15:34 ?704次閱讀

    飛騰助力首屆教育信息技術應用創新大賽圓滿落幕

    近日,由中國教育技術協會主辦,教育部教育管理信息中心教育信實驗室、公安部第三研究所、中國電子工業標準化技術協會信工委會支持,北京航空航天
    的頭像 發表于 12-24 09:57 ?453次閱讀

    有方科技參編的信息技術團體標準發布

    近日,有方科技參編的《信息技術產品供應鏈成熟度 共性指標 第1部分:企業背景評價》《信息技術產品供應鏈成熟度 共性指標 第2部分:技術掌控評價》《信息技術產品供應鏈成熟度 共性指標 第
    的頭像 發表于 12-23 10:44 ?529次閱讀

    龍芯中科助力2024首屆教育信息技術應用創新大賽成功舉辦

    近日,2024首屆教育信息技術應用創新大賽在北京航空航天大學成功舉辦。本次大賽由中國教育技術協會主辦,教育信實驗室、公安部第三研究所、中國電子工業標準化技術協會信
    的頭像 發表于 12-19 17:02 ?508次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?849次閱讀

    用國產化硬件守護信息安全,飛騰D2000網絡安全主板應用優勢

    在當今數字化時代,信息技術飛速發展,網絡攻擊事件愈發頻繁,網絡安全面臨著前所未有的挑戰。而國產網絡安全主板的出現,為守護
    的頭像 發表于 10-29 10:10 ?705次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?792次閱讀

    Linux網絡協議棧的實現

    網絡協議棧是操作系統核心的一個重要組成部分,負責管理網絡通信中的數據包處理。在 Linux 操作系統中,網絡協議棧(Network Stack)負責實現 TCP/IP 協議簇,處理
    的頭像 發表于 09-10 09:51 ?590次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網絡</b>協議棧的實現

    梯度科技入選2023年信息技術應用創新解決方案名單

    日前,工業和信息化部網絡安全產業發展中心(工業和信息化部信息中心)在天津舉辦2024信息技術應用創新發展大會暨解決方案應用推廣大會。會上正式
    的頭像 發表于 09-09 16:29 ?699次閱讀