• 6432阅读
  • 7回复

qt Socket 读不到数据~! 做过QTsocket的童鞋进来看看~ [复制链接]

上一主题 下一主题
离线goku_b
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-02
类的声明里面创建 QCPsocket的 指针

构造函数里给指针赋值!

MainWindow::MainWindow(QWidget *parent) :

    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    p_socketet = new QTcpSocket(this);
    b_autosendstat = false;
    connect(p_socketet,SIGNAL(readyRead()),this,SLOT(sockRecvData())); //有数据
    connect(p_socketet,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(socketerror()));
    ui->pushButton_send->setEnabled(false);
    SocketTCPstart();
}


程序是和VS的一个socket服务器程序通信.这个程序是可以发送数据的~发送出去的数据也是完整的~

但是程序就是读不出来数据(有readyread()函数)~~但是就是读不出来~~readyread()的信号的槽函数是socketrecvData()                     附上代码



void MainWindow::sockRecvData()

{
    QByteArray b_block;
    QString       s_block;
    QDataStream in(p_socketet);
in.setVersion(QDataStream::Qt_4_3);
//in>>s_block;
in>>b_block;
int i = p_socketet->bytesAvailable();
bool rebs = s_block.isEmpty();
bool rebb =b_block.isEmpty();
ui->label_dissata->setText(s_block);
}





数据一直就是读不出来~~不知道为什么~read()   readall()函数我都试了~~还是不行~

情遇见过这个情况的大大们``指点一二~

离线zzjin

只看该作者 1楼 发表于: 2011-08-02
也有可能是对方发送的问题
离线goku_b
只看该作者 2楼 发表于: 2011-08-02
回 1楼(zzjin) 的帖子
不会的~~我测了~~我用几个测试软件测试的~
离线wxj120bw

只看该作者 3楼 发表于: 2011-08-02
回 2楼(goku_b) 的帖子
用过Wireshark工具 检测下收据有没有收到
离线goku_b
只看该作者 4楼 发表于: 2011-08-04
呵呵 谢谢 zzjin 和zzjin
已经解决了~~
离线hehui

只看该作者 5楼 发表于: 2011-09-06
代码问题
离线sbtree
只看该作者 6楼 发表于: 2011-09-06
引用楼主goku_b于2011-08-02 14:37发表的 qt Socket 读不到数据~! 做过QTsocket的童鞋进来看看~ :
类的声明里面创建 QCPsocket的 指针
构造函数里给指针赋值!
MainWindow::MainWindow(QWidget *parent) :
.......

没有连接到服务器,当然收不到数据了
windows 7 + VC++2008 + Qt4.5.2
离线goku_b
只看该作者 7楼 发表于: 2011-12-27
回 6楼(sbtree) 的帖子
正解!!
快速回复
限100 字节
 
上一个 下一个