C++ (Qt)TcpClient::writeReq(char *data, int size){ len = size; while(len){ int cnt = socket->write(data,len); //пишем, cnt - количество записсаных байт data += cnt; //передвигаем указатель на cnt l len -= cnt; //уменьшаем длину на cnt }} TcpClient::readAnswer(char *data, int size){ len = size; while(len){ int cnt = socket->read(data,len); //читаем, cnt - количество считанных байт data += cnt; //передвигаем указатель на cnt len -= cnt; //уменьшаем длину на cnt }}
length = QTcpSocket::write(buf, length);
timeoutRead = (async)? 500 : 10000; while(QTcpSocket::bytesAvailable() < length){ if(!QTcpSocket::waitForReadyRead(timeoutRead)){ return _ERROR; } } length = QTcpSocket::read(buf, length); return length;