国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    88

    文章

    11760

    瀏覽量

    219046
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

    37080
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國產金融主板:賦能智慧金融,驅動信產業升級

    隨著信息技術的飛速迭代,信產業已在全球范圍內崛起,成為拉動經濟增長、激活創新動能的核心力量。在信產業的關鍵布局中,智慧金融建設是重中之重,而國產金融主板的規模化應用,正為智慧金融建
    的頭像 發表于 12-31 09:03 ?174次閱讀
    國產金融<b class='flag-5'>主板</b>:賦能智慧金融,驅動信<b class='flag-5'>創</b>產業升級

    國產芯筑基,飛騰主板賦能信未來

    信息技術自主可控成為國家戰略的今天,信產業正從“政策驅動”邁向“市場驅動”的高質量發展新階段。作為信產業鏈的核心硬件基石,主板的國產化水平直接決定著整個
    的頭像 發表于 12-30 09:49 ?204次閱讀
    國產芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創</b>未來

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

    2025年11月13日-15日,由中國教育技術協會主辦、浙江大學與中國教育技術協會網絡安全專業委員會聯合承辦,中國電子工業標準化技術協會信息技術
    的頭像 發表于 11-21 16:23 ?792次閱讀

    OBOO鷗柏|信觸摸一體機兆芯115寸Linux國產系統技術智造

    BOO鷗柏信觸摸一體機:兆芯115寸Linux智造新標桿在信息技術應用創新浪潮中,【OBOO鷗柏】推出的信觸摸一體機以其卓越性能和智能化設計,成為行業數字化轉型的重要工具。這款搭載
    的頭像 發表于 11-16 15:44 ?1297次閱讀
    OBOO鷗柏|信<b class='flag-5'>創</b>觸摸一體機兆芯115寸<b class='flag-5'>Linux</b>國產系統<b class='flag-5'>技術</b>智造

    新時代的硬核基石:龍芯工控主板助力信產業新基建

    在數字技術重塑產業格局的今天,信產業已成為保障國家信息技術安全的核心戰略。作為工業自動化系統的大腦,工控主板的自主可控程度直接決定信創新基建的穩固性。
    的頭像 發表于 11-05 13:54 ?295次閱讀

    龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—Qt工程編譯、GPU核心使用說明

    本文圍繞龍科技研發的評估板,詳細說明 Qt 工程編譯與 GPU 核心使用方法。涵蓋基于命令行和 Qt Creator 工具的 Qt 工程編譯流程,包括交叉編譯工具鏈、
    的頭像 發表于 09-29 14:16 ?724次閱讀
    <b class='flag-5'>創</b>龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—<b class='flag-5'>Qt</b>工程編譯、GPU核心使用說明

    智慧新核心,龍芯主板助力信體系再升級

    信息技術飛速發展的當下,信體系的自主可控與創新升級已成為國家戰略層面的關鍵任務。作為信產業發展的重要基礎硬件支撐,國產工控主板正發揮著日益重要的作用。
    的頭像 發表于 08-11 09:14 ?701次閱讀

    易華錄入選國家級信息技術應用創新典型解決方案

    近日,工業和信息化部網絡安全產業發展中心(工業和信息化部信息中心)公布了“2024年信息技術應用創新解決方案”評選結果。易華錄申報的“基于節
    的頭像 發表于 08-07 15:35 ?1622次閱讀

    佛瑞亞如何通過信息技術推動業務增長

    在數字化、信息化的浪潮下,信息技術已經不僅是后臺工具,更成為驅動企業發展的關鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國區信息技術總監馬瑛,了解她和團隊如何將
    的頭像 發表于 07-29 14:00 ?909次閱讀

    飛騰主板為信產業發展提高硬實力

    信息技術飛速發展的當下,信產業已成為我國實現科技自立自強、保障國家信息安全的關鍵領域。信,即信息技術應用創新,其核心目標是實現
    的頭像 發表于 07-22 18:20 ?713次閱讀

    浪潮澎湃,國產主板迎來黃金時代!

    2025年7月,表示必須在2027年底前完成信100%替代,覆蓋基礎硬件、基礎軟件等核心領域。在信息技術應用創新浪潮席卷下,國產主板作為計算機系統的骨架,正從幕后走向臺前。政策加持、技術
    的頭像 發表于 07-21 14:00 ?505次閱讀

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡
    的頭像 發表于 06-13 10:06 ?8329次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

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

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

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

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

    Linux的作用

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