m_ptrTcpSocket->connectToHost(QHostAddress("192.168.1.161"),9001);
m_ptrTcpSocket->waitForConnected();
qDebug("State:%dn",m_ptrTcpSocket->state());
qDebug()<<"开始发送";
int nWriteLen = m_ptrTcpSocket->write("123",strlen("123"));
qDebug()<<"发送长度:"<<nWriteLen;
m_ptrTcpSocket->waitForBytesWritten();
m_ptrTcpSocket->disconnectFromHost();
m_ptrTcpSocket->connectToHost(QHostAddress("192.168.1.161"),9002);
m_ptrTcpSocket->waitForConnected();
qDebug("State:%dn",m_ptrTcpSocket->state());
qDebug()<<"开始发送";
nWriteLen = m_ptrTcpSocket->write("123",strlen("123"));
qDebug()<<"发送长度:"<<nWriteLen;
m_ptrTcpSocket->waitForBytesWritten();
测试代码如上,大致情况就是往一个端口发送之后,马上端口往另一个端口继续发送,接口端口能建立连接(m_ptrTcpSocket->state() = 3),但是发送数据失败,请问为什么会这样?
------解决方案--------------------
上面代码可以正常往两个不同端口发送数据啊。
------解决方案--------------------
我使用的是Qt5 在XP上测试,打开另个一软件监听两端口,运行后,两个端口都可以接收到数据。
------解决方案--------------------
m_ptrTcpSocket->disconnectFromHost();改为close试试