【发布时间】:2015-01-25 18:18:52
【问题描述】:
我使用realterm telnet 到设备,它可以工作,但是当我尝试使用QTcpSocket 访问它时,我从套接字readAll() 得到垃圾数据,有什么问题???
QObject::connect(&sock, SIGNAL(readyRead()), this, SLOT(readyRead()));
void QTelnet::readyRead()
{
QByteArray ba = sock.readAll();
qDebug() << "Read:" << ba ;
}
输出: “ÿýÿý ÿý#ÿý'”
更新:
我只调用了 sock.connectToHost("192.168.80.17", 23); 没有其他的 预期输出如下:
Linux 2.4.31 (NTP001) (26)
NTP001 登录:
【问题讨论】:
-
这可能没问题,具体取决于发送到套接字的内容。
-
请记住,在大多数情况下,Telnet 协商序列不是不可打印的字符,或者在这种情况下,它不是任何有意义的字符序列。
-
但不知何故,当我登录时写入: void QTelnet::connected() { QByteArray ba("admin\r\nadmin\r\n"); sock.write(ba); qDebug()
-
在调试器中放置一个断点,并以十六进制值查看结果。您收到的实际值(不是字符)是什么?