毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

用QTcpSocket做客户端用来测试TCP,不能接收数据

更新时间:2012-11-1:  来源:毕业论文

#include <QMessageBox>
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
  QWidget(parent),
  ui(new Ui::Widget)
{
  ui->setupUi(this);
  this->setFixedSize( this->width (),this->height ()); //固定窗口大小
  TcpSocket =图书管理系统论文  new QTcpSocket(this);
  connect(ui->ConnectBtn,SIGNAL(clicked()),this,SLOT(Connect()));
  connect(ui->StopBtn,SIGNAL(clicked()),this,SLOT(Stop()));
  connect(ui->ClearReceiveBtn,SIGNAL(clicked()),this,SLOT(ClearReceive()));
  connect(ui->ClearSendBtn,SIGNAL(clicked()),this,SLOT(ClearSend()));
  connect(ui->SendBtn,SIGNAL(clicked()),this,SLOT(Send()));
  connect(TcpSocket,SIGNAL(readyRead()),this,SLOT(ReadMessage()));
  connect(TcpSocket,SIGNAL(error(QAbstractSocket::SocketError)),
  this,SLOT(displayError(QAbstractSocket::SocketError)));
}

Widget::~Widget()
{
  delete ui;
}


void Widget::displayError(QAbstractSocket::SocketError)
{
  qDebug() << TcpSocket->errorString(); //输出错误信息
}

void Widget::ReadMessage()
{
  qDebug("Read");
  if(TcpSocket->waitForConnected(30000)){
  QString Msg;
  QByteArray qba = TcpSocket->readAll();
  Msg=QVariant(qba).toString();
  ui->Receive_textBrowser->append(Msg);}
}

void Widget::Connect()
{
  // BlockSize = 0; //初始化其为0
  TcpSocket->abort(); //取消已有的连接
  TcpSocket->connectToHost(ui->Remote_IP_lineEdit->text(),
  ui->Remote_Port_lineEdit->text().toInt());
  ui->ConnectBtn->setEnabled(false);
  ui->StopBtn->setEnabled(true);
}

void Widget::Stop()
{
  TcpSocket->close();
  qDebug("socket break");
  ui->StopBtn->setEnabled(false);
  ui->ConnectBtn->setEnabled(true);
}

void Widget::Send()
{
  qDebug("send message");
  int length = 0;
  QString Msg= ui->SendMsg_lineEdit->text();

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。