• 5562阅读
  • 3回复

tcpsocket这么操作,怎么会读不到数据 [复制链接]

上一主题 下一主题
离线succulent
 
只看楼主 正序阅读 楼主  发表于: 2008-12-01
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
server端代码
  QByteArray block("aaaaa");
    tcpSocket->write(block);


client端代码,照搬的例程
 
  void SimpleChatClient::receiveMessage()
{
    qint64 bytes = buffer->write(socket->readAll());
    buffer->seek(buffer->pos() - bytes);
    while (buffer->canReadLine())
    {
        QString line = buffer->readLine();
        chat->append(line.simplified());

两端确定有连接,请问会错在哪呢
    }
}
离线succulent
只看该作者 3楼 发表于: 2008-12-01
                    QBuffer* buffer = new QBuffer(this);
    buffer->open(QIODevice::ReadWrite);
    qint64 bytes = buffer->write(this->readAll());

    buffer->seek(buffer->pos() - bytes);
   
    while (buffer->canReadLine())
    {
       QByteArray line = buffer->readLine();
       this->write(line);
    }
把数据从client发送到server,然后再写回client的代码,是定义在一个由readyread信号触发的slot里面的
而单纯写入的,也就是我最想实现的这段,是定义在另一个由主线程signal触发的slot里的
可能会是什么方面的原因呢,能帮我分析下吗,谢谢
离线succulent
只看该作者 2楼 发表于: 2008-12-01
通过这个socket口,我可以把数据从client发送到server,然后再写回client,一点问题都没有,但是单纯的从server写到client就是不行,奇怪了
离线succulent
只看该作者 1楼 发表于: 2008-12-01
问题的症结在于,怎么把我想要发送的一串字符写入tcpsocket,最简单的一串就好
快速回复
限100 字节
 
上一个 下一个