日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt网络编程——TCP服务器与客户端互发信息

發(fā)布時(shí)間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt网络编程——TCP服务器与客户端互发信息 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

前一個(gè)博客,試了TCP的服務(wù)器與客戶端的連接與斷開,接下就是客戶端與服務(wù)器互發(fā)信息。

客戶端

1.往服務(wù)器發(fā)送信息

//發(fā)送消息 void Client::on_buttonSendMessage_clicked() {QString data = ui->textEditInput->toPlainText();if(data.length() != 0){tcpClient->write(data.toLatin1());ui->textEditInput->clear();ui->textEditStatus->append("發(fā)送文本消息成功!");data.clear();}else{ui->textEditStatus->append("不能發(fā)送空的消息!");}}

當(dāng)客戶端連接上服務(wù)器之后,在輸入窗口下輸入文字(英文),然后點(diǎn)發(fā)送按鍵,信息往服務(wù)器發(fā)送。
2.接收來自服務(wù)器的信息
2.1 在構(gòu)造函數(shù)里添加一個(gè)槽函數(shù)做接收到信息的事件響應(yīng)

connect(tcpClient, SIGNAL(readyRead()), this, SLOT(readServerMessage()));

2.1 實(shí)現(xiàn)這個(gè)槽函數(shù),接收信息并顯示出來

//接收服務(wù)器端的信息并顯示 void Client::readServerMessage() {QByteArray buffer = tcpClient->readAll();if(!buffer.isEmpty()){ui->textEditAccept->append(buffer);} }

服務(wù)器

1.在服務(wù)器要加上有新客戶端連接時(shí)的槽函數(shù)

//有新的連接時(shí)的槽函數(shù)connect(tcpServer,SIGNAL(newConnection()),this, SLOT(newConnectionSlot()));

槽函數(shù)實(shí)現(xiàn)

//有新客戶端連接時(shí) void Server::newConnectionSlot() {//返回套接字指針currentClient = tcpServer->nextPendingConnection();tcpClient.append(currentClient);ui->comboBoxIP->addItem(tr("%1:%2").arg(currentClient->peerAddress().toString().split("::ffff:")[1])\.arg(currentClient->peerPort()));//讀取消息處理connect(currentClient, SIGNAL(readyRead()), this, SLOT(readMessageData())); }

2.接收來自客戶端的信息并顯示出來

//接收消息并顯示到界面 void Server::readMessageData() {for(int i = 0; i < tcpClient.length(); i++){QByteArray buffer = tcpClient.at(i)->readAll();if(buffer.isEmpty()){ui->textEditStatus->append("接收的消息為空!");}else{ui->textEditAccept->append(buffer);ui->textEditStatus->append("接收消息成功!");}} }

3.往客戶端發(fā)送信息,這里有兩種可能,一是只要連接上的客戶端都發(fā),二是指定客戶端來發(fā)送,就是綁死客戶端的IP地址。

//往客戶端發(fā)送信息 void Server::on_buttonSendMessage_clicked() {QString input_data = ui->textEditInput->toPlainText();if(input_data.isEmpty()){ui->textEditStatus->append("不能發(fā)送空的信息!");return;}//如果選擇全部發(fā)送信息if(ui->comboBoxIP->currentIndex() == 0){for(int i = 0; i < tcpClient.length(); i++){tcpClient.at(i)->write(input_data.toLatin1());ui->textEditStatus->append("信息發(fā)送成功!");ui->textEditInput->clear();input_data.clear();}}//指定接收的客戶端else{//得到選擇的IP地址QString client_IP = ui->comboBoxIP->currentText().split(":").at(0);//得到端口int client_port = ui->comboBoxIP->currentText().split(":").at(1).toInt();//遍歷連接到的客戶端for(int i = 0; i < tcpClient.length(); i++){if(tcpClient[i]->peerAddress().toString().split("::ffff:")[1]==client_IP\&& tcpClient[i]->peerPort()==client_port){tcpClient.at(i)->write(input_data.toLatin1());ui->textEditStatus->append("發(fā)送信息到:"+client_IP+"成功!");//ui->textEditInput->clear();input_data.clear();return; //ip:port唯一,無需繼續(xù)檢索}}} }

測(cè)試

運(yùn)行服務(wù)器與客戶端,并點(diǎn)擊監(jiān)聽與連接,開始互發(fā)信息
運(yùn)行效果如下:

以上是就是一個(gè)服務(wù)器與客戶端的初步框架,還缺少了互相傳送圖像,上傳下載文件這兩個(gè)功能,還有異常處理機(jī)制,心跳檢測(cè),多線程等需要完善。

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Qt网络编程——TCP服务器与客户端互发信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人影院在线观看视频 | 亚洲成人精品在线 | 欧美做受69 | 在线涩涩 | 亚洲黄色大片 | 国产视频在线一区二区 | 色姑娘天天操 | 亚洲人成人一区二区在线观看 | 丁香婷婷网 | 特大黑人巨交吊性xx | 日本一区二区三区视频在线播放 | 凹凸视频一区二区 | 中文字幕观看 | av视| 成人黄色网| 日本一区二区在线视频 | 国产精品电影 | 日本国产中文字幕 | 麻豆av网址| 中文字幕视频网站 | 操操久久 | 精品www| 日日躁夜夜躁白天躁晚上躁91 | 古装做爰无遮挡三级聊斋艳谭 | 精品国产综合区久久久久久 | 黑人巨大精品欧美黑白配亚洲 | 亚洲国产精品成人久久蜜臀 | 少妇闺蜜换浪荡h肉辣文 | 色呦呦在线免费观看 | 人人亚洲 | 国产亚洲一区二区三区四区 | 夜夜撸小说| jlzzjizz在线播放观看 | 免费看黄在线 | 日本特黄特黄刺激大片 | av网址在线| 黑人借宿巨大中文字幕 | 中文字幕一区二区三三 | 免费国产高清 | 中字幕视频在线永久在线观看免费 | 国产亚洲性欧美日韩在线观看软件 | 国产特黄毛片 | 伊甸园精品区 | 大地av| 无码人妻精品丰满熟人区 | 熟妇人妻av无码一区二区三区 | 最近中文字幕无免费 | 国产女人叫床高潮大片免费 | 久草资源网站 | 欧美成人二区 | 伊人网视频在线观看 | 成人福利一区二区三区 | 国产区一二三 | zjzjzjzjzj亚洲女人 | 久久久高清 | 精品国产免费一区二区三区 | 在线欧美日韩 | 黄色福利在线观看 | 开元在线观看视频国语 | 迈开腿让我尝尝你的小草莓 | 欧美xxxxx牲另类人与 | 熟女丰满老熟女熟妇 | ts人妖在线 | 日本三级在线视频 | 久久嫩草| 欧美激情影音先锋 | 98超碰在线 | 亚洲国产v | 夜夜嗨av一区二区三区四区 | 欧美整片在线 | 久久91精品 | 国产精品久久 | 激情自拍偷拍 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 国产嫩草视频 | 欧美群交射精内射颜射潮喷 | 亚洲性夜 | 色鬼久久 | 久久网站免费观看 | www亚洲精品 | 国产成人精品无码片区在线 | 亚洲AV无码一区二区三区性 | 日韩一区二区视频在线播放 | 亚洲激情影院 | 日韩午夜免费 | xxxx在线视频 | 青青草香蕉 | aaa特级毛片 | 日韩激情四射 | 国产破处在线 | 亚洲清色 | 美女视频久久久 | 波多野结衣黄色网址 | 免费看黄色一级视频 | 黄网址在线观看 | 在线一区视频 | 国产精品久久久久久久天堂 | 快色视频 | 女~淫辱の触手3d动漫 |