Chinaunix首页 | 论坛 | 博客
  • 博客访问: 967957
  • 博文数量: 108
  • 博客积分: 3243
  • 博客等级: 中校
  • 技术积分: 964
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-15 22:09
文章分类

全部博文(108)

文章存档

2020年(2)

2019年(1)

2018年(2)

2017年(9)

2016年(20)

2015年(1)

2013年(1)

2012年(12)

2011年(28)

2010年(27)

2009年(4)

2008年(1)

分类: C/C++

2011-07-29 14:25:35

方法一、在这里最好用bytesAvailable,因为在用canReadLine()的时候,有时会出现还有内容可读,却返回false的情况
          while(socket.bytesAvailable())
{ tmp=socket.readLine(); response<<tmp; }
方法二、这种方法不错,一次可以读取很多内容,但是要注意的是可能QString放不下而导致内容不全,不是没有读完的问题 QByteArray datagram; datagram.resize(socket.bytesAvailable()); socket.read(datagram.data(),datagram.size()); tmp=datagram.data(); response+=tmp;
方法三、这里的read方法也是可行的,但相对上面的方法而言,复杂且麻烦。。。 char buff[1512+1]; qint64 tmp; do { tmp=t->read(1); response+=tmp; }while(tmp!=QString::null); 转自: http://xwz89314.blog.163.com/blog/static/4051000420108864639471/
阅读(7562) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~