QT Socket
TcpServer
QT += network
创建一个 TcpServer
QTcpServer *server = new QTcpServer;监听
server->listen(QHostAddress::Any, 9988);connect 新连接
connect(server, &QTcpServer::newConnection, this, &TcpServer::sl_serconnect );slot 处理新来的连接 然后用一个 socket 接管新来的连接 之后 connect 处理读写
void TcpServer::sl_serconnect() { // 有多个连接一次不取出来只调用一次nextPendingConnection while (_server->hasPendingConnections()) { socket = server->nextPendingConnection(); connect(socket, &QTcpSocket::readyRead, this, &TcpServer::sl_readyread ); } } void TcpServer::sl_readyread() { QByteArray buf = _socket->readAll(); _textbrowser->append(buf); }
TcpSocket
创建一个 Tcpclient
QTcpSocket *client = new QTcpSocket(this);连接server
client->connectToHost("127.0.0.1", 9988);写数据
client->write(strText.toUtf8());