额…最近突然出现一个问题 顺手记录下来 我认为QTcpScoket 跟 QT QSerialPort应该是通用的 都是继承与QT的IO
不写其他的 直接贴代码讲吧
void TcpSocket::WriteData(QString data)
{
if(isSend)
return;
int datelen = data.length();
int mLen = 0;
while(datelen > 0)
{
mLen = (int)_socket->write(data.toLatin1());
if(mLen > 0)
{
_socket->waitForBytesWritten(1000);
}
if(mLen == -1)
{
return;
}
datelen -= mLen;
}
while (1)
{
isSend = true;
if (_socket->waitForReadyRead(10))
{
QString msg = _socket->readAll();
qDebug() << msg;
if(msg == "13")
{
isSend = false;
qDebug() << "break";
break;
}
}
qApp->processEvents();
}
}
补充一下 如果你这里有连接了readyRead的槽函数 槽函数里面readAll的话 那在上面那个地方的
QString msg = _socket->readAll();
这里读的就会是空 具体怎么样看你自己写的程序吧-。- 临时记录一下
单看效果应该是可以的 如果有不同意见可以评论区一起讨论一下
我永远喜欢慧慧-。-
|