当前位置: 首页 > news >正文

网站答辩ppt怎么做免费关键词搜索工具

网站答辩ppt怎么做,免费关键词搜索工具,吕梁做网站公司,滨海网站建设公司localsocket 传输大量的数据 例如一张图片,localsocket本身的缓冲区大小是有限定的 两个办法: 扩充缓冲区的大小 或者是 接收端分多次接收 然后每一次的都拼装起来 以后将给出第二种方式的源码 2017.11.28今天给出核心的源码如下: 1 void…

localsocket 传输大量的数据 例如一张图片,localsocket本身的缓冲区大小是有限定的

 

两个办法:  扩充缓冲区的大小 

或者是   接收端分多次接收 然后每一次的都拼装起来

 

以后将给出第二种方式的源码

2017.11.28今天给出核心的源码如下:

 1 void ClientTest::handleData() {
 2     int recvLen = 0;
 3     char* temp = (char*)malloc(462338*sizeof(char));
 4     FrameData_t* recvData = (FrameData_t*)malloc(224 * 172 * sizeof(FrameData_t));
 5     char* buffer = (char*)malloc(462338*sizeof(char));
 6 
 7     int expectedLen = 462338;
 8     int acceptLen   = 462338;
 9     int totalRead   = 0;
10     while (mQuit == false) {
11         recvLen = read(fd, buffer, acceptLen);
12         if (recvLen <= 0) {
13             continue;
14         } else if (recvLen <= 40) {
15             if (buffer[0] == 'c' && buffer[1] == 'd') {
16                 ALOGD("read para success recvLen:%d", recvLen);
17                 memcpy(lensPara, buffer + 2, 36);
18             }
19             continue;
20         } else {
21             if (totalRead == 0) {
22                 if (buffer[0] == 'a' && buffer[1] == 'b') {
23                     memcpy(temp, buffer + 2, recvLen - 2);
24                     totalRead += recvLen;
25                     acceptLen -= recvLen;
26                 }
27             } else {
28                 memcpy(&temp[totalRead - 2], buffer, recvLen);
29                 totalRead += recvLen;
30                 acceptLen -= recvLen;
31             }
32         }
33 
34         if (totalRead != expectedLen) {
35             continue;
36         } else {
37             ALOGD("read once success");
38             memset(recvData, 0, 224 * 172 * sizeof(FrameData_t));
39             memcpy(recvData, temp, 224 * 172 * sizeof(FrameData_t));
40             backdata.callback(recvData);
41             totalRead = 0;
42             acceptLen   = 462338;
43         }
44     }
45 
46     free(temp);
47     free(recvData);
48     free(buffer);
49 }

简单说一下原理:当有大量的数据传输时,recv函数一次接收的数据量是不定的,

例如:期待的一次成功的接收结果是5000字节      recv一次只能接收2000字节   那么就分3次 2000+2000+1000

那么我第一次recv函数按照5000字节来收    返回值收到的是2000        第二次 recv函数按照3000来收     返回值是2000    第三次recv函数按照1000 来收    返回值是1000  

然后将3次接收的数据拼接在一起  就是一次收取的数据了。

转载于:https://www.cnblogs.com/lifeng-blog/p/7834185.html

http://www.lbrq.cn/news/2534203.html

相关文章:

  • 做数学ppt工具的网站网上的推广公司
  • 做网站公司选择哪家好seo优化师
  • 重庆金建站sem是什么职业岗位
  • 重庆百度推广seo入门seo技术教程
  • 微信公众平台和微网站的区别免费网站收录入口
  • 复兴网站制作百度账号客服人工电话
  • 怎样给公司做免费网站西安seo关键字优化
  • 个性化网站有哪些企业策划书
  • 怎么下载自己做的网站俄罗斯搜索引擎yandex推广
  • 在线课堂手机网站模板百度网盘下载
  • 湛江住房和城乡建设部网站百度的人工客服
  • 沈阳鹊起网站建设谷歌浏览器下载手机版中文
  • 住建蓉e办官网济宁seo优化公司
  • 武汉做个网站多少钱qq群推广
  • 网站安全建设进展情况定制网站和模板建站
  • 太原迎泽区疫情最新消息百度优化公司
  • 手机网站开发成app关键词排名优化系统
  • 做一个网站需要到哪里做兰州seo技术优化排名公司
  • wordpress垃圾清理北京整站线上推广优化
  • 山楼小院在哪家网站做宣传福州seo网站管理
  • 怎样用wordpress建站昆明seo工资
  • 新乡哪里有做网站的114黄页
  • 新手建站教程报价单交换友情链接平台
  • 手机网站排名3天网站seo优化成为超级品牌
  • wordpress 时间归档seo搜索优化软件
  • 海盐市网站建设360推广官网
  • 网站建设栏目说明工程建设数字化管理平台
  • 建设学校网站论文网站关键词如何快速上首页
  • 重庆做网站seo优化选哪家好北京seo公司网站
  • 怎么做贝店式的网站刷seo关键词排名软件
  • MySQL 45讲 16-17
  • RPA-重塑企业自动化流程的智能引擎
  • 数据库-索引
  • 【HTML】浅谈 script 标签的 defer 和 async
  • GaussDB 查看会话连接数
  • JVM 笔记:类加载、内存管理、垃圾收集与垃圾收集器