欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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://www.delux-kingway.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)注

    87

    文章

    11351

    瀏覽量

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

    關(guān)注

    7

    文章

    6086

    瀏覽量

    35641
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    芯盛智能榮獲2024年信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    日前,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡(jiǎn)稱 “信創(chuàng)工委會(huì)”)2024 年度總結(jié)座談會(huì)于北京隆重舉行。此次會(huì)議對(duì)在信創(chuàng)工作中作出突出貢獻(xiàn)的成員單位予以表彰。江蘇
    的頭像 發(fā)表于 01-20 09:56 ?171次閱讀

    基于QT開發(fā)國產(chǎn)主板終端桌面程序 高效、穩(wěn)定、跨平臺(tái)的解決方案

    了開發(fā)者們面臨的一個(gè)重要挑戰(zhàn)。本文將介紹如何基于QT框架,開發(fā)適用于國產(chǎn)主板的終端桌面程序,并探討其優(yōu)勢(shì)和應(yīng)用場(chǎng)景。 QT是一個(gè)跨平臺(tái)的C++圖形用戶界面
    的頭像 發(fā)表于 01-08 15:34 ?202次閱讀

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國教育技術(shù)協(xié)會(huì)主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信創(chuàng)工委會(huì)支持,北京航空航天
    的頭像 發(fā)表于 12-24 09:57 ?215次閱讀

    有方科技參編的信息技術(shù)團(tuán)體標(biāo)準(zhǔn)發(fā)布

    近日,有方科技參編的《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第1部分:企業(yè)背景評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第2部分:技術(shù)掌控評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第
    的頭像 發(fā)表于 12-23 10:44 ?242次閱讀

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

    近日,2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽在北京航空航天大學(xué)成功舉辦。本次大賽由中國教育技術(shù)協(xié)會(huì)主辦,教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信
    的頭像 發(fā)表于 12-19 17:02 ?285次閱讀

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百強(qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?563次閱讀

    用國產(chǎn)化硬件守護(hù)信息安全,飛騰D2000網(wǎng)絡(luò)安全主板應(yīng)用優(yōu)勢(shì)

    在當(dāng)今數(shù)字化時(shí)代,信息技術(shù)飛速發(fā)展,網(wǎng)絡(luò)攻擊事件愈發(fā)頻繁,網(wǎng)絡(luò)安全面臨著前所未有的挑戰(zhàn)。而國產(chǎn)網(wǎng)絡(luò)安全主板的出現(xiàn),為守護(hù)
    的頭像 發(fā)表于 10-29 10:10 ?328次閱讀

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡(jiǎn)稱,于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?525次閱讀

    Linux網(wǎng)絡(luò)協(xié)議棧的實(shí)現(xiàn)

    網(wǎng)絡(luò)協(xié)議棧是操作系統(tǒng)核心的一個(gè)重要組成部分,負(fù)責(zé)管理網(wǎng)絡(luò)通信中的數(shù)據(jù)包處理。在 Linux 操作系統(tǒng)中,網(wǎng)絡(luò)協(xié)議棧(Network Stack)負(fù)責(zé)實(shí)現(xiàn) TCP/IP 協(xié)議簇,處理
    的頭像 發(fā)表于 09-10 09:51 ?380次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡(luò)</b>協(xié)議棧的實(shí)現(xiàn)

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會(huì)暨解決方案應(yīng)用推廣大會(huì)。會(huì)上正式
    的頭像 發(fā)表于 09-09 16:29 ?500次閱讀

    在嵌入式系統(tǒng)中集成Rust和Qt的實(shí)踐

    Rust 擁有豐富的庫生態(tài)系統(tǒng),用于序列化和反序列化、異步操作、解析不安全輸入、線程、靜態(tài)分析等,而 Qt 是一個(gè) C++ 工具包,支持跨各種平臺(tái)的豐富的、基于 GUI 的應(yīng)用程序,從 iOS 到嵌入式Linux。
    發(fā)表于 05-03 10:26 ?1901次閱讀
    在嵌入式系統(tǒng)中集成Rust和<b class='flag-5'>Qt</b>的實(shí)踐

    Linux是做什么用的?

    ,進(jìn)行軟件開發(fā)、系統(tǒng)管理和網(wǎng)絡(luò)管理等工作。 5、學(xué)習(xí)和教育:Linux是一個(gè)開源的操作系統(tǒng),提供了大量的學(xué)習(xí)資源和教育機(jī)會(huì)。許多學(xué)校和教育機(jī)構(gòu)使用Linux來教授計(jì)算機(jī)科學(xué)和信息技術(shù)
    發(fā)表于 04-28 15:40

    FPGA板子可以跑Qt應(yīng)用程序

    Qt作為一款跨平臺(tái)GUI圖形界面設(shè)計(jì)軟件,她可以在windows、Linux上運(yùn)行,沒聽說過在FPGA的板子上運(yùn)行Qt程序呢?
    發(fā)表于 03-28 23:27

    Qt上位機(jī)開發(fā)實(shí)戰(zhàn)案例

    Qt框架的開發(fā)人員能迅速上手和操作。 即使不開發(fā)Qt應(yīng)用程序,Qt Creator也是一個(gè)簡(jiǎn)單易用且功能強(qiáng)大的IDE。
    的頭像 發(fā)表于 03-13 12:31 ?2809次閱讀
    <b class='flag-5'>Qt</b>上位機(jī)開發(fā)實(shí)戰(zhàn)案例

    RX78M組 EtherCAT ETG.5003示例程序固件信息技術(shù)

    電子發(fā)燒友網(wǎng)站提供《RX78M組 EtherCAT ETG.5003示例程序固件信息技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 02-21 14:22 ?1次下載
    RX78M組  EtherCAT ETG.5003示例<b class='flag-5'>程序</b>固件<b class='flag-5'>信息技術(shù)</b>