• 4296阅读
  • 0回复

[提问]client 端写不上数据 [复制链接]

上一主题 下一主题
离线zhendeyue
 
只看楼主 倒序阅读 楼主  发表于: 2007-02-08
我想实现简单的服务器与客户端的通信,但客户端好像是写不上数据,我想了好久也没解决,请大家帮偶看一下,非常感谢!下面是客户端写数据和服务器读数据的代码
void Client::sendFortune(){
  QByteArray block;
  QDataStream out(&block, QIODevice::WriteOnly);
  out.setVersion(QDataStream::Qt_4_2);
  out << (quint16)0;
  out << fortunes.at(qrand() % fortunes.size());
  out.device()->seek(0);  
  out << (quint16)(block.size() - sizeof(quint16));
  tcpSocket->write(block);
  connect(tcpSocket,SIGNAL(bytesWritten(qint64)),this,SLOT(flag()));
  }

void Server::readFortune(){
  QDataStream in(tcpsocket);
  in.setVersion(QDataStream::Qt_4_2);
  if (blockSize == 0) {
      if (tcpsocket->bytesAvailable() < (int)sizeof(quint16))
        return;
      in >> blockSize;
  }

  if (tcpsocket->bytesAvailable() < blockSize)
      return;
  QString nextFortune;
  in >> nextFortune;
  currentFortune = nextFortune;  
}
我已作了检测客户端没写数据,服务器的tcpsocket::readyRead()也没有触发,多谢了!
快速回复
限100 字节
 
上一个 下一个