#include #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QTcpSocket tcpSocket; const auto writeToSocket = [&](){ const auto written = tcpSocket.write(QByteArray(8192, '1')); qDebug() << "Sending " << written << " bytes"; }; QObject::connect(&tcpSocket, &QAbstractSocket::connected, &tcpSocket, [&](){ int sndVal = 0; int sndLen = sizeof(int); getsockopt( tcpSocket.socketDescriptor(), SOL_SOCKET, SO_SNDBUF, (char*)&sndVal, &sndLen); int rcvVal = 0; int rcvLen = sizeof(int); getsockopt( tcpSocket.socketDescriptor(), SOL_SOCKET, SO_RCVBUF, (char*)&rcvVal, &rcvLen); qDebug() << "Client connected!" << " sndVal = " << sndVal << " recvVal = " << rcvVal; writeToSocket(); }); QObject::connect(&tcpSocket, &QIODevice::bytesWritten, &tcpSocket, [&](auto bytes){ qDebug() << "Bytes written = " << bytes; writeToSocket(); }); QObject::connect(&tcpSocket, &QAbstractSocket::errorOccurred, &tcpSocket, [](auto error){ qDebug() << "Error " << error; }); tcpSocket.connectToHost(QHostAddress::LocalHost, 55666); return a.exec(); }