QT socket TCP通訊程式模板 服務端

2021-09-29 11:44:18 字數 1471 閱讀 2194

tcp通訊,要區分服務端,和客戶端。

服務端的功能是,設定要監聽的埠,然後等待客戶端發起的連線。

qt中tcp伺服器端的程式設計步驟:

(1)new乙個tcp伺服器 qtcpserver

(2)進入listen監聽狀態(形參為:要監聽的ip,一般填any, 要監聽的埠號)

(3)一旦有客戶端申請接入,服務端會產生訊息qtcpserver::newconnection,在訊息的處理函式中,記錄下客戶端發起的socket連線qtcpsocket(一般要用鍊錶資料結構記錄,因為可能會有多個客戶端要接入)。

(4)把剛才記錄下的socket的【已連線】、【連線已斷開】、【收到資料】3個常用的訊號槽寫好。(這一步驟和客戶端程式設計是一樣的,請參考我的另一篇部落格《qt socket tcp通訊程式模板- 客戶端》)

(5)傳送資料用qtcpsocket::write(uint8_t *bug, int65_t maxlen);

示例**:

#ifndef mainwindow_h

#define mainwindow_h

#include #include #include #include #include #include namespace ui

class mainwindow : public qmainwindow

;#endif // mainwindow_h

#include "mainwindow.h"

#include "ui_mainwindow.h"

mainwindow::mainwindow(qwidget *parent) :

qmainwindow(parent),

ui(new ui::mainwindow)

}mainwindow::~mainwindow()

void mainwindow::on_ptncreatetcp_clicked()//tcp伺服器進入監聽狀態

伺服器端的tcp程式,不需要本機的ip位址,listen時,只填埠號即可。

QT Socket TCP簡單程式

用qt的socket寫的簡單程式,有客戶端和伺服器端,後期還新增了乙個選擇ip位址的combox選擇框 在客戶端裡面輸入文字,按send按鈕或者按回車鍵,在伺服器端就可以接收到 如果你只有一台電腦的話,選ip時,請選擇127,0,0,1 檔案清單 主要 mywidget.cpp int main i...

程式之間通訊

訊息作用 在程序間共享資料 內部通過建立記憶體對映檔案 訊息介紹 需要用到的資料結構 型別 typedef struct tagcopydatastruct copydatastruct,pcopydatastruct 結構體引數說明 dwdata ulong 儲存乙個數值,可以用來作標誌等 lpd...

linux udp通訊程式

服務端程式為 include include include include include include include int main recvfrom isock,szbuf,sizeof szbuf 1,0,struct sockaddr srvaddr,socklen t srvadd...