91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)Linux主板Qt網(wǎng)絡(luò)應(yīng)用程序簡(jiǎn)介

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-17 09:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux中的網(wǎng)絡(luò)編程是通過socket接口來進(jìn)行的。我們常說的socket接口是一種特殊的I/O,它也是一種文件描述符,關(guān)于socket編程的應(yīng)用可以參考英創(chuàng)公司光盤中使用必讀的相關(guān)內(nèi)容。

現(xiàn)在在英創(chuàng)公司提供的例程Step3_TCPServe基礎(chǔ)上,加入Qt顯示單元,使其能通過顯示屏進(jìn)行操作,基本的思想是還是利用Qt的信號(hào)和插槽機(jī)制進(jìn)行對(duì)象間的通訊,當(dāng)接收到的數(shù)據(jù)的時(shí)候,發(fā)出Signal,Qt 的事件循環(huán)中接收到這個(gè)信號(hào),調(diào)用定義好的Slot顯示接收到的數(shù)據(jù)。

Step3_TCPServe是一個(gè)支持多個(gè)客戶端的連接TCPServer示例,該例程采用了面向?qū)ο蟮?a href="http://m.makelele.cn/tags/C++/" target="_blank">C++編程,創(chuàng)建了CTCPServer和CTCPCustom兩個(gè)類,其中CTCPServer類負(fù)責(zé)偵聽客戶端的連接,一旦有客戶端請(qǐng)求連接,它就負(fù)責(zé)接受此連接,并創(chuàng)建一個(gè)新的CTCPCustom類對(duì)象與客戶端進(jìn)行通訊,然后CTCPServer類接著監(jiān)聽客戶端的連接請(qǐng)求,所以需要讓CTCPServer類和CTCPCustom類繼承QObject類的屬性,使QObject成為CTCPServer類和CTCPCustom類的基類,然后在CTCPServer類和CTCPCustom類中各加入一個(gè)signal,讓CTCPServer類和CTCPCustom類的信號(hào)關(guān)聯(lián),這樣當(dāng)CTCPCustom類發(fā)出信號(hào)CTCPServer類也會(huì)發(fā)出信號(hào),再讓CTCPServer類的信號(hào)和Qt顯示通過信號(hào)和插槽的機(jī)制連接,但是對(duì)于網(wǎng)絡(luò)通信的操作部分并不用做修改,原理如下圖:

繼承QObject類的屬性,加入信號(hào)和槽的方法在《英創(chuàng)Linux主板Qt串口應(yīng)用程序簡(jiǎn)介》中有較詳細(xì)的說明,在CTCPCustom類中,添加的方法也一樣,當(dāng)判斷接收到數(shù)據(jù)時(shí),發(fā)送信號(hào),添加程序:

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

在前面提到,在CTCPServer類中,當(dāng)判斷有客戶端請(qǐng)求連接時(shí),會(huì)創(chuàng)建一個(gè)CTCPCustom類對(duì)象與客戶端進(jìn)行通訊,這時(shí)再將CTCPServer類和CTCPCustom類的信號(hào)關(guān)聯(lián):

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

在Qt中,將兩個(gè)信號(hào)關(guān)聯(lián),如同上面那樣,當(dāng)pSocket中的信號(hào)發(fā)送時(shí),pClientSocket中的信號(hào)也會(huì)跟著發(fā)送。

最后在顯示窗口Widget類中,將CTCPServer類的信號(hào)和顯示槽函數(shù)關(guān)聯(lián):

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

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

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('錯(cuò)誤'),tr('創(chuàng)建失敗'),QMessageBox::Yes);
delete m_TCPServer;
return;
}
connect(m_TCPServer,SIGNAL(readyRead(QString)),this,SLOT(readData(QString)),Qt::QueuedConnection); //關(guān)聯(lián)信號(hào)和槽
ui->startpushButton->setEnabled(false);
ui->textBrowser_3->setEnabled(true);
QString s=QString::number(m_TCPServer->m_LocalPort,10);
ui->textBrowser_3->insertPlainText(s); //顯示端口號(hào)
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函數(shù)中,主要是對(duì)字體進(jìn)行設(shè)置,并且顯示我們?cè)O(shè)計(jì)的窗口:

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

程序運(yùn)行效果:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11760

    瀏覽量

    219040
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    國(guó)產(chǎn)金融主板:賦能智慧金融,驅(qū)動(dòng)信創(chuàng)產(chǎn)業(yè)升級(jí)

    隨著信息技術(shù)的飛速迭代,信創(chuàng)產(chǎn)業(yè)已在全球范圍內(nèi)崛起,成為拉動(dòng)經(jīng)濟(jì)增長(zhǎng)、激活創(chuàng)新動(dòng)能的核心力量。在信創(chuàng)產(chǎn)業(yè)的關(guān)鍵布局中,智慧金融建設(shè)是重中之重,而國(guó)產(chǎn)金融主板的規(guī)模化應(yīng)用,正為智慧金融建
    的頭像 發(fā)表于 12-31 09:03 ?173次閱讀
    國(guó)產(chǎn)金融<b class='flag-5'>主板</b>:賦能智慧金融,驅(qū)動(dòng)信<b class='flag-5'>創(chuàng)</b>產(chǎn)業(yè)升級(jí)

    國(guó)產(chǎn)芯筑基,飛騰主板賦能信創(chuàng)未來

    信息技術(shù)自主可控成為國(guó)家戰(zhàn)略的今天,信創(chuàng)產(chǎn)業(yè)正從“政策驅(qū)動(dòng)”邁向“市場(chǎng)驅(qū)動(dòng)”的高質(zhì)量發(fā)展新階段。作為信創(chuàng)產(chǎn)業(yè)鏈的核心硬件基石,主板的國(guó)產(chǎn)化水平直接決定著整個(gè)
    的頭像 發(fā)表于 12-30 09:49 ?202次閱讀
    國(guó)產(chǎn)芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創(chuàng)</b>未來

    龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    2025年11月13日-15日,由中國(guó)教育技術(shù)協(xié)會(huì)主辦、浙江大學(xué)與中國(guó)教育技術(shù)協(xié)會(huì)網(wǎng)絡(luò)安全專業(yè)委員會(huì)聯(lián)合承辦,中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)
    的頭像 發(fā)表于 11-21 16:23 ?792次閱讀

    OBOO鷗柏|信創(chuàng)觸摸一體機(jī)兆芯115寸Linux國(guó)產(chǎn)系統(tǒng)技術(shù)智造

    BOO鷗柏信創(chuàng)觸摸一體機(jī):兆芯115寸Linux智造新標(biāo)桿在信息技術(shù)應(yīng)用創(chuàng)新浪潮中,【OBOO鷗柏】推出的信創(chuàng)觸摸一體機(jī)以其卓越性能和智能化設(shè)計(jì),成為行業(yè)數(shù)字化轉(zhuǎn)型的重要工具。這款搭載
    的頭像 發(fā)表于 11-16 15:44 ?1292次閱讀
    OBOO鷗柏|信<b class='flag-5'>創(chuàng)</b>觸摸一體機(jī)兆芯115寸<b class='flag-5'>Linux</b>國(guó)產(chǎn)系統(tǒng)<b class='flag-5'>技術(shù)</b>智造

    新時(shí)代的硬核基石:龍芯工控主板助力信創(chuàng)產(chǎn)業(yè)新基建

    在數(shù)字技術(shù)重塑產(chǎn)業(yè)格局的今天,信創(chuàng)產(chǎn)業(yè)已成為保障國(guó)家信息技術(shù)安全的核心戰(zhàn)略。作為工業(yè)自動(dòng)化系統(tǒng)的大腦,工控主板的自主可控程度直接決定信創(chuàng)新基建的穩(wěn)固性。
    的頭像 發(fā)表于 11-05 13:54 ?295次閱讀

    創(chuàng)龍 瑞芯微 RK3588 國(guó)產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—Qt工程編譯、GPU核心使用說明

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

    智慧新核心,龍芯主板助力信創(chuàng)體系再升級(jí)

    信息技術(shù)飛速發(fā)展的當(dāng)下,信創(chuàng)體系的自主可控與創(chuàng)新升級(jí)已成為國(guó)家戰(zhàn)略層面的關(guān)鍵任務(wù)。作為信創(chuàng)產(chǎn)業(yè)發(fā)展的重要基礎(chǔ)硬件支撐,國(guó)產(chǎn)工控主板正發(fā)揮著日益重要的作用。
    的頭像 發(fā)表于 08-11 09:14 ?701次閱讀

    易華錄入選國(guó)家級(jí)信息技術(shù)應(yīng)用創(chuàng)新典型解決方案

    近日,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)公布了“2024年信息技術(shù)應(yīng)用創(chuàng)新解決方案”評(píng)選結(jié)果。易華錄申報(bào)的“基于節(jié)
    的頭像 發(fā)表于 08-07 15:35 ?1620次閱讀

    佛瑞亞如何通過信息技術(shù)推動(dòng)業(yè)務(wù)增長(zhǎng)

    在數(shù)字化、信息化的浪潮下,信息技術(shù)已經(jīng)不僅是后臺(tái)工具,更成為驅(qū)動(dòng)企業(yè)發(fā)展的關(guān)鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國(guó)區(qū)信息技術(shù)總監(jiān)馬瑛,了解她和團(tuán)隊(duì)如何將
    的頭像 發(fā)表于 07-29 14:00 ?908次閱讀

    飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實(shí)力

    信息技術(shù)飛速發(fā)展的當(dāng)下,信創(chuàng)產(chǎn)業(yè)已成為我國(guó)實(shí)現(xiàn)科技自立自強(qiáng)、保障國(guó)家信息安全的關(guān)鍵領(lǐng)域。信創(chuàng),即信息技術(shù)應(yīng)用創(chuàng)新,其核心目標(biāo)是實(shí)現(xiàn)
    的頭像 發(fā)表于 07-22 18:20 ?711次閱讀

    創(chuàng)浪潮澎湃,國(guó)產(chǎn)主板迎來黃金時(shí)代!

    2025年7月,表示必須在2027年底前完成信創(chuàng)100%替代,覆蓋基礎(chǔ)硬件、基礎(chǔ)軟件等核心領(lǐng)域。在信息技術(shù)應(yīng)用創(chuàng)新浪潮席卷下,國(guó)產(chǎn)主板作為計(jì)算機(jī)系統(tǒng)的骨架,正從幕后走向臺(tái)前。政策加持、技術(shù)
    的頭像 發(fā)表于 07-21 14:00 ?505次閱讀

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)
    的頭像 發(fā)表于 06-13 10:06 ?8316次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    創(chuàng)浪潮下,國(guó)產(chǎn)主板有什么新的發(fā)展機(jī)遇?

    信息技術(shù)應(yīng)用創(chuàng)新浪潮的推動(dòng)下,國(guó)產(chǎn)主板迎來了諸多新的發(fā)展機(jī)遇。信創(chuàng)產(chǎn)業(yè)旨在實(shí)現(xiàn)信息技術(shù)領(lǐng)域的自主可控,這一戰(zhàn)略目標(biāo)為國(guó)產(chǎn)主板的發(fā)展提供了廣
    的頭像 發(fā)表于 05-09 09:24 ?728次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國(guó)產(chǎn)<b class='flag-5'>主板</b>有什么新的發(fā)展機(jī)遇?

    技術(shù)案例】Qt 環(huán)境部署 - Ubuntu 篇

    什么是Qt?Qt是一個(gè)跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架,可構(gòu)建高性能的桌面、移動(dòng)及Web應(yīng)用程序,也可用于開發(fā)非GUI程序,比如控制
    的頭像 發(fā)表于 04-16 17:17 ?1935次閱讀
    【<b class='flag-5'>技術(shù)</b>案例】<b class='flag-5'>Qt</b> 環(huán)境部署 - Ubuntu 篇

    Linux的作用

    學(xué)校和教育機(jī)構(gòu)使用Linux來教授計(jì)算機(jī)科學(xué)和信息技術(shù)相關(guān)的課程。 總之,Linux是一個(gè)功能強(qiáng)大、靈活且廣泛應(yīng)用的操作系統(tǒng),適用于各種不同的用途和場(chǎng)景。
    發(fā)表于 04-04 01:57