QTcpSocket 发送和接收数据的几种方法
2015-06-28 11:48
966 查看
QTcpSocket 提供的几种接收和发送数据方法:
write ( const char *, qint64 ) : qint64
write ( const char * ) : qint64
write ( const QByteArray & ) : qint64
writeData ( const char *, qint64 ) : qint64
read ( char * data, qint64 maxSize ): qint64
read ( qint64 maxSize ):QByteArray
readAll ():QByteArray
readLine ( char * data, qint64 maxSize ):qint64
readLine ( qint64 maxSize = 0 ):QByteArray
发送数据的示例代码:
1)write ( const QByteArray & ) : qint64
2)write ( const char *, qint64 ) : qint64
3)数据流直接使用 QIODevice
本文转自:http://qimo601.iteye.com/blog
write ( const char *, qint64 ) : qint64
write ( const char * ) : qint64
write ( const QByteArray & ) : qint64
writeData ( const char *, qint64 ) : qint64
read ( char * data, qint64 maxSize ): qint64
read ( qint64 maxSize ):QByteArray
readAll ():QByteArray
readLine ( char * data, qint64 maxSize ):qint64
readLine ( qint64 maxSize = 0 ):QByteArray
发送数据的示例代码:
1)write ( const QByteArray & ) : qint64
//用于暂存要发送的数据 QByteArray block; //使用数据流写入数据 QDataStream out(&block,QIODevice::ReadWrite); //设置数据流的版本,客户端和服务器端使用的版本要相同 out.setVersion(QDataStream::Qt_DefaultCompiledVersion); //设置发送长度初始值为0 out << (quint16) 0; //设置发送内容 out<<"hello, mike"; //回到字节流起始位置 out.device()->seek(0); //重置字节流长度 out << (quint16) (block.size()-sizeof(quint16)); //往套接字缓存中写入数据,并发送 tcpSocket->write(block);
2)write ( const char *, qint64 ) : qint64
QString str = "hello, mike"; tcpSocket->write(a, a.length());
3)数据流直接使用 QIODevice
QDataStream in(tcpSocket); in<< quint16(0xFFFF); //此时QIODevice加载了此数据,而且直接发送出去 quint16 length = 0; QDataStream out(tcpSocket);//如果此时tcpSocket直接有数据发送过来 out >> length;//length获得第一个整型值,并在tcpSocket中清空该数据
本文转自:http://qimo601.iteye.com/blog
相关文章推荐
- AJAX——核心XMLHttpRequest对象
- TCP/IP三次握手、四次挥手总结
- 使用Node.js配合Nginx实现高负载网络
- 推送消息 相关公司 手机端分享http://mob.com/
- dubbo 启动:无法读取方案文档 'http://code.alibabatech.com/sch,原因为 1) 无法找到文档; 2) 无法读取文档; 3) ...
- TCP协议的三次握手和四次挥手
- Android实现网络图片app
- Android 学习笔记之网络通信基础+WebView....
- 记一次TcpListenOverflows报警解决过程
- puppet介绍及基于httpd实例部署
- Android 通过WebService进行网络编程,使用工具类轻松实现
- google picasa 网络相册帮助
- 网络编程
- Linux网络编程综合运用之MiniFtp实现(八)
- java网络编程
- 访问网络共享
- cocos2d-x的TestCpp分析
- 使用Node.js配合Nginx实现高负载网络
- Jetty 9.3庆祝20周年生日快乐,并增加HTTP/2支持
- HTTP重定向