關於Qt5傳送udp協議資料

2021-09-29 10:37:49 字數 654 閱讀 2878

我們需要利用qt5傳送tcp/udp的協議資料的問題,這裡稍微做個記錄。

通訊協議(這裡只是舉例)

協議格式

version(1 位元組)

mode(4 位元組)

message(4位元組)

首先我們構建資料結構體

#pragma pack(push) //儲存對齊狀態

#pragma pack(1)//設定為1位元組對齊

struct type_header

;//__attribute__((packed));

#pragma pack(pop)//恢復對齊狀態

typedef struct type_header header_packet;

qt5標頭檔案為 #include

header_packet pkts;

pkts.header.version = 0x01;

pkts.header.mode = qfrombigendian(0x00010200);

這樣就可以通過呼叫tcp/udp的介面函式將協議資料傳送出去了。

主要是注意兩點:

一、協議資料要保持1位元組對其,防止傳送出去的資料報文與協議規定的不匹配。

二、注意qt5下的網路轉本地與本地轉網路的函式qfrombigendian的問題。

QT5傳送包含陣列的json

防忘 qt的json組裝有三個類可以使用 sonobject sondocument sonarray 1.先用 sonobject定義root sonobject root 向關鍵值新增資料 root key tchar to utf8 parameter 2.完成後裝入 sondocument ...

5 傳送模板訊息

詳情參看 傳送模板訊息 介面呼叫請求說明 http請求方式 post post資料示例如下 data keynote1 keynote2 keynote3 remark createmunu url,params string url send template url.replace access...

UDP聊天器01 傳送資料

使用udp傳送資料 import socket def main 建立udp套接字 udp socket socket.socket socket.af inet,socket.sock dgram while true 使用互動式進行傳輸資料 send data input 請輸入要傳送的資料 使...