使用QT的QTcpSocket与QTcpServer类实现简单Tcp通讯,建立连接后使用QTcpSocket发送出“UP\DOWN\LEFT\RIGHT”几种命令
时间: 2023-04-09 15:04:21 浏览: 133
可以使用以下代码实现:
QTcpSocket *socket = new QTcpSocket(this);
socket->connectToHost("127.0.0.1", 1234); // 连接到本地IP地址为127.0.0.1,端口号为1234的服务器
if (socket->waitForConnected()) { // 等待连接成功
socket->write("UP\DOWN\LEFT\RIGHT"); // 发送命令
socket->waitForBytesWritten(); // 等待数据发送完成
socket->disconnectFromHost(); // 断开连接
}
注意:这只是一个简单的示例,实际应用中需要根据具体情况进行修改。
相关问题
使用QT的QTcpSocket与QTcpServer类实现简单Tcp通讯,使用QTcpSocket发送出“UP\DOWN\LEFT\RIGHT”几种命令
可以使用以下代码实现:
// 客户端代码
QTcpSocket socket;
socket.connectToHost("127.0.0.1", 1234); // 连接到服务器
if (socket.waitForConnected()) {
socket.write("UP"); // 发送 UP 命令
socket.write("DOWN"); // 发送 DOWN 命令
socket.write("LEFT"); // 发送 LEFT 命令
socket.write("RIGHT"); // 发送 RIGHT 命令
socket.disconnectFromHost(); // 断开连接
}
// 服务器代码
QTcpServer server;
server.listen(QHostAddress::Any, 1234); // 监听端口
connect(&server, &QTcpServer::newConnection, [&]() {
QTcpSocket *socket = server.nextPendingConnection();
connect(socket, &QTcpSocket::readyRead, [&]() {
QByteArray data = socket->readAll();
qDebug() << data; // 输出收到的数据
});
});
使用QT的QTcpSocket与QTcpServer类实现简单Tcp通讯
可以使用QT的QTcpSocket与QTcpServer类来实现简单的Tcp通讯。以下是一个简单的示例代码:
// 服务器端代码
QTcpServer *server = new QTcpServer(this);
if (!server->listen(QHostAddress::Any, 1234)) {
qDebug() << "Server could not start!";
} else {
qDebug() << "Server started!";
}
connect(server, &QTcpServer::newConnection, [=]() {
QTcpSocket *socket = server->nextPendingConnection();
qDebug() << "New client connected:" << socket->peerAddress().toString();
connect(socket, &QTcpSocket::readyRead, [=]() {
QByteArray data = socket->readAll();
qDebug() << "Received data:" << data;
});
connect(socket, &QTcpSocket::disconnected, [=]() {
qDebug() << "Client disconnected:" << socket->peerAddress().toString();
});
});
// 客户端代码
QTcpSocket *socket = new QTcpSocket(this);
socket->connectToHost("127.0.0.1", 1234);
if (socket->waitForConnected()) {
qDebug() << "Connected to server!";
socket->write("Hello server!");
} else {
qDebug() << "Failed to connect to server!";
}
connect(socket, &QTcpSocket::readyRead, [=]() {
QByteArray data = socket->readAll();
qDebug() << "Received data:" << data;
});
connect(socket, &QTcpSocket::disconnected, [=]() {
qDebug() << "Disconnected from server!";
});
注意:以上代码仅为示例,实际使用时需要根据具体需求进行修改。
阅读全文
相关推荐














