1. 程式人生 > >QTcpSocket 傳送資料的幾種方法

QTcpSocket 傳送資料的幾種方法

QTcpSocket  傳送資料的幾種方法

1、QTcpSocket 繼承於QAbstractSocket繼承於QIODevice

2、QTcpSocket 提供的幾種接收和傳送資料方法

  • write ( const char *, qint64 ) : qint64
  • write ( const char * ) : qint64
  • write ( const QByteArray & ) : qint64
  • writeData ( const char *, qint64 ) : qint64
  • read ( char * data, qint64 maxSize ): qint64
  • read
    ( qint64 maxSize ):QByteArray
  • readAll ():QByteArray
  • readLine ( char * data, qint64 maxSize ):qint64
  • readLine ( qint64 maxSize = 0 ):QByteArray

3、例子1  write ( const QByteArray & ) : qint64

    //用於暫存要傳送的資料
    QByteArray block;
    //使用資料流寫入資料
    QDataStream out(&block,QIODevice::ReadWrite);
    //設定資料流的版本,客戶端和伺服器端使用的版本要相同
    out.setVersion(QDataStream::Qt_4_6);

    //設定傳送長度初始值為0
    out << (quint16) 0;
    //設定傳送內容
    out<<hash;

    //回到位元組流起始位置
    out.device()->seek(0);
    //重置位元組流長度
    out << (quint16) (block.size()-sizeof(quint16));

    //往套接字快取中寫入資料,併發送
    tcpSocket->write(block);

3、例子2  write ( const char *, qint64 ) : qint64

 QString *a=new QString;
 tcpSocket->write(a,a->length());


4、例子3  資料流直接使用QIODevice

QDataStream in(tcpSocket);
in<< quint16(0xFFFF); //此時QIODevice載入了此資料,而且直接傳送出去

quint16 length = 0;
QDataStream out(tcpSocket);//如果此時tcpSocket直接有資料傳送過來
out >> length;//length獲得第一個整型值,並在tcpSocket中清空該資料

相關推薦

關於兩個伺服器資料庫之間的資料方法實踐

以前資料庫和環境相關的都是開發之前都是開發LEADER 搞定了,今天自己搞本地資料庫做測試,由於表比較多,資料比較多, 所以在用了很多種資料同步的方法,現在總結下下面幾種方法的感受 1.通過轉儲SQL 檔案,通過轉儲表結構和資料SQL 檔案的方式 ,然後匯入到本地的資料庫    缺點:

Python struct 包 ctypes 傳送方法

AA : a=[0x00, 0x00, 0x00, 0x2c, 0x63, 0x00, 0x00, 0x00,  0x75, 0x4b, 0xef, 0x0f, 0x00, 0x03, 0x00, 0x00,  0x01, 0x00, 0x00, 0x7f, 0

QTcpSocket 傳送資料方法

QTcpSocket  傳送資料的幾種方法 1、QTcpSocket 繼承於QAbstractSocket繼承於QIODevice 2、QTcpSocket 提供的幾種接收和傳送資料方法 write ( const char *, qint64 ) : qint64

Python中遍歷pandas資料方法介紹和效率對比說明

前言 Pandas是python的一個數據分析包,提供了大量的快速便捷處理資料的函式和方法。其中Pandas定義了Series 和 DataFrame兩種資料型別,這使資料操作變得更簡單。Series 是一種一維的資料結構,類似於將列表資料值與索引值相結合。DataFrame 是一種二維

NLP之TFTS讀入資料:TF之TFTS讀入時間序列資料方法

NLP之TFTS讀入資料:TF之TFTS讀入時間序列資料的幾種方法 T1、從Numpy 陣列中讀入時間序列資料 1、設計思路 2、輸出結果 {'times': array([ 0, 1, 2, 3, 4, 5, 6, 7, 8,

Oracle刪除重複記錄只保留一條資料方法

1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷 SELECT * FROM people WHERE peopleid IN ( SELECT peopleid FROM people GROUP BY peopleid

表中有自增長主鍵時,插入資料方法

資料庫的表中有自增長主鍵時(如圖所示),我們該怎麼插入資料呢? 方式一:     當需要插入的資料比較少時,即可以通過一條一條的插入時,我們可以指定該列(id)的值,但是新插入的值不能和已有的值重複,而且必須大於其中最大的一個值 方式二:   

STM32F4關於AD取樣時資料不穩定時“消抖”處理的方法

  STM32在利用AD採集時,如果是採集的感測器資料或其他傳入的資料的靈敏度相當高,或者因為其他原因導致資料不穩定,AD取樣採集進去後,資料抖動明顯,影響後期的資料利用,就需要對波動資料進行簡單的處理,以下是慕塵提供的可供嘗試的思路。   一、平均值濾波   最為簡單且容易想到的就是平均值濾波,多次取樣

插補缺失資料方法:《Statistical Analysis with Missing Data》習題4.15

一、題目 本題基於之前習題1.6產生關於 ( Y 1

python 獲取當前資料夾路徑及父級目錄的方法

獲取當前資料夾路徑及父級目錄: import os current_dir = os.path.abspath(os.path.dirname(__file__)) print(current_dir) #F:\project\pritice current_dir1 = os.path.dirna

考研資料找不到?來試試這方法

1、網路來源 總是有人會在各大論壇上放歷年考試真題,也有一些論壇、網站、公眾號會提供專業課歷年真題的下載。在網上找到考研真題對所有考生來說是很好的,有時還會有往屆考生髮布真題答案供考生參考。 學生還應充分利用各大高校的網站查詢研究生版塊,學生可以找到相關的學院和專業的資訊。你也可以發帖諮詢,

iOS 去除陣列中重複資料方法

第一種:利用NSDictionary的AllKeys(AllValues)方法 程式碼: NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03", @"2014-04-01",

jessite框架前臺顯示資料方法

1.自定義標籤獲取字典資料,即在js指令碼中通過jstl自定義標籤引入,並根據獲取的資料動態顯示出自己需要的資料,如下程式碼紅色部分,當前場景沒有用到,但是可以作為一種方法去了解。 gridComplete: function () var ids = jQuery("#grid-t

資料匯入的方法

Pima Indians 資料集 從 UCI 中獲取的,這是一個分類問題的資料集,主要記錄了印第安人最近五年內是否患糖尿病的醫療資料。 (資料集檔案見最後。) 使用標準 Python 類庫匯入資料 import csv import numpy as np f

python中,向 list 新增資料方法

//...1... def a(): list=[] for i in range(1000): list=list+[i] print(list) //...

Mybatis中,當插入資料後,返回最新主鍵id的方法,及具體用法

                一、前言                                     資料庫操作怎能少了INSERT操作呢?下面記錄MyBatis關於INSERT操作的筆記,以便日後查閱。二、 insert元素 屬性詳解                              其

MongoDB資料讀寫的方法

1、MongoDB Shell Script mongoDB的命令列使用的是類似JavaScript指令碼的命令列互動,所以我們可以在shell當中使用JS的一些命令、函式等。 輸入mongo命令啟動mongo控制檯 然後參考官方文件操作mongo資料。 常用命令有

HTTP傳遞資料方法

Http請求的時候,需要傳遞引數給後端,一般都是key-value的形式,傳遞的方法有很多種 例如需要傳遞的資料是 dict(key1=value1,key2=value2) 1. URL引數 把引數放在URL中,適用於所有的HTTP請求Method,例如GET,POST 例如: 對應requests模組的

結構化大資料計算的方法(一)

         任何資料都要通過計算來產生價值才有意義,大資料也一樣。結構化大資料的計算能力的高低決定了大資料的實用性。          我總結了幾種常見的計算方法:API 、Script、SQL、類SQL。        1、  API:這是指沒有使用JDBC或OD

複製某個欄位一整列的資料到另外一個新的欄位的方法

這個實在網上摘抄過來的,感覺寫的很好給大家分享一下 有時候,我們需要複製某個欄位一整列的資料到另外一個新的欄位中,或是需要把某個表的某個欄位的值跨表複製到另一個表中的某個欄位,本文就羅列了一些SQL語句寫法,需要的朋友可以參考下 需求:把一個表某個欄位內容複製到另一張表