QTcpSocket 傳送和接收資料的幾種方法

2021-09-07 09:43:14 字數 1053 閱讀 3412

1、qtcpsocket 繼承於qabstractsocket繼承於qiodevice

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

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

cpp**  

//用於暫存要傳送的資料  

qbytearray block;  

//使用資料流寫入資料  

qdatastream out(&block,qiodevice::readwrite);  

//設定資料流的版本,客戶端和伺服器端使用的版本要相同  

out.setversion(qdatastream::qt_4_6);  

//設定傳送長度初始值為0  

out <

//設定傳送內容  

out<

//回到位元組流起始位置  

out.device()->seek(0);  

//重置位元組流長度  

out <

//往套接字快取中寫入資料,並傳送  

tcpsocket->write(block);  

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

cpp**  

qstring *a=new qstring;  

tcpsocket->write(a,a->length());  

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

cpp**  

qdatastream in(tcpsocket);  

in<

quint16 length = 0;  

qdatastream out(tcpsocket);//如果此時tcpsocket直接有資料傳送過來  

out >> length;//length獲得第乙個整型值,並在tcpsocket中清空該資料  

**:

QTcpSocket連續傳送資料的問題

在qt的學習網路的學習中,最大的問題是伺服器與客戶端收發資料的問題,當一方連續傳送幾次資料給另一方時,容易出現好幾種錯誤 1 收到的資料不全,只有第乙個 2 收不到 3 收到的資料不對 readyread在訊號到達時,開始接收,我即使呼叫幾次write,也不能解決這個問題。我嘗試了幾個方法 傳送的是...

C tcpClient傳送和接收

先做乙個簡單的tcpclient收發功能。先簡單做乙個介面。引入命名空間 using system.net.sockets using system.net 其中定義了三個按鈕,分別是建立連線,接收和傳送。c 中的tcp通訊實質就是socket通訊。private void button1 clic...

python tcp 傳送和接收

import socket def main 1.建立tcp的套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2.鏈結伺服器 tcp socket.connect 192.168.33.11 7890 server ip ...