QT udp通訊程式示例

2021-10-12 06:57:57 字數 808 閱讀 4391

前幾天做專案,需要裝置之間進行通訊。剛開始選用的是tcp進行通訊,結果發現tcp如果用自己封裝的類的話,粘包問題是很難解決的(可以選用第三方封裝好的庫)。最後選用udp進行通訊。學過的因該都知道,udp是一種部不可靠的資料報服務,在測試中發現,如果在網路狀態可靠(自己搭建的區域網)的情況下,udp通訊是沒有任何問題的,幾乎不會出現丟包的情況。

以下是qt udp通訊程式的示例,包括兩個檔案,udpcomm.h和udpcomm.cpp,需要udp通訊的話,直接加入兩個檔案即可。

udpcomm.h

#ifndef udpcomm_h

#define udpcomm_h

#include#include#include #include"address.h"

class udpcomm:public qobject

;#endif // udpcomm_h

udpcomm.cpp

#include "udpcomm.h"

//建構函式中進行己方埠的繫結

udpcomm::udpcomm(qobject *parent) : qobject(parent)

//資訊,接收方的位址和埠號

void udpcomm::senddata(qbytearray msg, qhostaddress address, quint16 port)

void udpcomm::recive()

}

在上述**中,如果要監聽udp通訊傳送訊息,只需要建立建立槽函式,然後和newmessage訊號之間建立關聯即可。

WinSock TCP通訊程式示例

參考文獻 楊傳棟,張煥遠.windows網路程式設計基礎教程 m 清華大學出版社,2015.p114 伺服器端程式 stdafx.h 標準系統包含檔案的包含檔案,或是經常使用但不常更改的 特定於專案的包含檔案 pragma once include targetver.h include inclu...

Socket通訊示例

一 最簡例程實現socket網路傳輸 伺服器端 比客戶端先執行 vi socket server.c 1 include 2 include 3 include 4 include 5 include 6 include 7 include 8 include 9 include 10 includ...

NIO通訊示例

讀者可以將 拷貝到編譯器上跑一跑,如果看了注釋還有不懂的地方,可以參考 nio基礎 一 之buffer nio基礎 二 之channel nio基礎 三 之selector 第三篇尤為重要對看懂大體框架有很大意義。public class const 類說明 nio通訊客戶端 public clas...