类的声明里面创建 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()函数我都试了~~还是不行~
情遇见过这个情况的大大们``指点一二~