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

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

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

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

英創(chuàng)信息技術Linux主板Qt網(wǎng)絡應用程序簡介

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

然后可以在顯示界面中添加了一些其他功能組件,比如按鈕等,然后編寫組件的事件響應函數(shù),實現(xiàn)想要的功能,在本例程中,添加了一些按鈕和顯示,用來選擇啟動TCPServer,顯示IP和端口號等,部分實現(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('錯誤'),tr('創(chuàng)建失敗'),QMessageBox::Yes);
delete m_TCPServer;
return;
}
connect(m_TCPServer,SIGNAL(readyRead(QString)),this,SLOT(readData(QString)),Qt::QueuedConnection); //關聯(lián)信號和槽
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函數(shù)中,主要是對字體進行設置,并且顯示我們設計的窗口:

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事件循環(huán)
}

程序運行效果:

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

    關注

    88

    文章

    11771

    瀏覽量

    219115
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    龍芯主板——信創(chuàng)體系的智慧硬核基石

    信息技術飛速發(fā)展的當下,信創(chuàng)體系的自主可控與創(chuàng)新升級已成為國家戰(zhàn)略層面的關鍵任務。作為信創(chuàng)產(chǎn)業(yè)發(fā)展的重要基礎硬件支撐,國產(chǎn)工控主板的自主可控程度直接決定信創(chuàng)新基建的穩(wěn)固性,正發(fā)揮著日
    的頭像 發(fā)表于 03-11 10:44 ?97次閱讀
    龍芯<b class='flag-5'>主板</b>——信<b class='flag-5'>創(chuàng)</b>體系的智慧硬核基石

    國產(chǎn)金融主板:賦能智慧金融,驅動信創(chuàng)產(chǎn)業(yè)升級

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Linux的作用

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