引用第4楼water_wf于2008-12-03 09:02发表的 :
因该没问题啊,贴段完整的代码吧,看看
是啊,就是因为看不出什么破绽来,所以才郁闷无比
这是连接到slot的connect函数,当socket接受到readyread以后,就立即跳到slot
connect(this, SIGNAL(readyRead()), this, SLOT(readClient()));
这是处理readyread的slot
void FortuneSocket::readClient()
{
qDebug("5555555555555555");
//这是提示信息,到这里一点问题都没有
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();
write(line);
}
这是可以正常执行的代码,从客户端那里把信息读进来,然后再写回socket里,回送回到客户端,完全正常,客户端输入什么,马上就能读出来,并回去回去显示,一切ok
但是,当我打算读到客户端信息以后,比如客户端输入个“hello”,我想回应一句“omg”,而不是直接再把hello给送回去,我自己定义的这句死活没法写入,郁闷无比。
或者您能按照您的思路想想会怎么去写这句话吗,谢谢