QT學習 Tcp客戶端通訊(本地回環)

2021-09-24 16:21:27 字數 2092 閱讀 5303

1.linux下tcp通訊

2.qt下tcp通訊

1)tcp框架——簡圖

下面的文字框是寫入文字,上面的是顯示傳送後接收到的資訊。這裡傳送的訊息並不會立刻顯示到介面上,而是要通過 readyread() 的函式讀取,即是做接受處理。然後才會顯示傳送的內容。

3.**如下(ui介面直接拖控制項實現)

1)第一部分

tcp-socket.pro

qt += core gui network      //要用到網路,所以在 .pro檔案裡加入network。

greaterthan(qt_major_version, 4): qt += widgets

sources += main.cpp\

serverwidget.cpp \

clientwidget.cpp

headers += serverwidget.h \

clientwidget.h

forms += serverwidget.ui \

clientwidget.ui

config += c++11       //利用 lamda 表示式要加上這個

2)第二部分(伺服器視窗**)

serverwidget.h  (標頭檔案)

#ifndef serverwidget_h

#define serverwidget_h

#include

#include //監聽套接字          只有伺服器部分是需要兩個套接字的

#include //通訊套接字

namespace ui

class serverwidget : public qwidget

;#endif // serverwidget_h

serverwidget.cpp (原始檔)

#include "serverwidget.h"

#include "ui_serverwidget.h"

serverwidget::serverwidget(qwidget *parent) :

qwidget(parent),

ui(new ui::serverwidget)

void serverwidget::on_buttonsend_clicked()

//獲取編輯區的內容

qstring str = ui->texteditwrite->toplaintext();

//給對方傳送資料,使用套接字tcpsocket

tcpsocket->write(str.toutf8().data());

}void serverwidget::on_buttonclose_clicked()

//主動和客戶端埠斷開

tcpsocket->disconnectfromhost();

tcpsocket->close();

ui->texteditread->settext("和客戶端斷開連線");

tcpsocket = null;

}3)第三部分(客戶端)

clientwidget.h  (標頭檔案)

#ifndef clientwidget_h

#define clientwidget_h

#include

#include //客戶端只需要乙個通訊套接字

namespace ui 

class clientwidget : public qwidget

;#endif // clientwidget_h

clientwidget.h (原始檔)

#include "clientwidget.h"

#include "ui_clientwidget.h"

#include

clientwidget::clientwidget(qwidget *parent) :

qwidget(parent),

ui(new ui::clientwidget)

void clientwidget::on_connect_clicked()

void clientwidget::on_close_clicked()

執行結果

原文: 

TCP通訊(客戶端)

修改自網路 include include include pragma comment lib,ws2 32.lib int client void unsigned short port int main int argc,char argv int client void if isockcl...

TCP通訊,多客戶端通訊(客戶端 服務端)

客戶端和伺服器間的交流,客戶端傳送資訊,伺服器接收到,並返回資訊 長連線建立socket連線服務端 指定ip位址,埠號 通過ip位址找對應的伺服器 呼叫socket的getinputstream 和getoutputstream 方法獲取和服務端相連的io流 輸入流可以讀取服務端輸出流寫出的資料 輸...

Silverlight 客戶端本地訊息通訊

在silverlight 3 中新增了客戶端不同應用程式之間的通訊機制,當一台電腦上同時執行多個silverlight 應用程式的時候,本地訊息通訊可以在不同的silverlight之間建立乙個訊息通道,有點像是乙個socket鏈結,一方在監聽,一方傳送。public partial class l...