免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2030 | 回复: 3
打印 上一主题 下一主题

socket数据接收 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-23 15:31 |只看该作者 |倒序浏览
||8|1|    6576683|    9919019|       1655|  0| 0|  0|0|0|                 62683913|\n
||8|1|    9919019|    6576683|       1086|  0| 0|  0|0|0|             013917097831|\n
||8|1|    6576683|    9919019|       1495|  0| 0|  0|0|0|                 61073939|\n
||8|1|    9919019|    6576683|        892|  0| 0|  0|0|0|              13352888083|\n
||8|1|    6576683|    9919019|       1815|  0| 0|  0|0|0|                 61218083|\n
||8|1|    9919019|    6707755|         19|  0| 0|  0|0|0|17991010609713995786368747|\n   //特殊数据行
||8|1|    9919019|    6576683|       1496|  0| 0|  0|0|0|                 38788120|\n
||8|1|    9919019|    6576683|        450|  0| 0|  0|0|0|              13710704588|\n
||8|1|    6576683|    9919019|        579|  0| 0|  0|0|0|                 62231136|\n
||8|1|    6576683|    9919019|        485|  0| 0|  0|0|0|                 61217111|\n

按照约定协议 socket行长为84 以\n结束  以recvLen = recv(sockfd, buf, 84, 0);
由于特殊数据的出现  行长超过84 使得部分数据压到了下一个数据行的行头  比如上面特殊行的换行符就到了下一行头

为解决这种情况 当碰上recvLen = recv(sockfd, buf, 84, 0) 最后一个字符不是\n的时候 继续按字节读 直到取到\n 将行补齐

现在问题是没找到按字节读取数据的函数.....

论坛徽章:
0
2 [报告]
发表于 2008-06-23 15:36 |只看该作者
read()

论坛徽章:
0
3 [报告]
发表于 2008-06-23 15:38 |只看该作者
recv(sockfd, buf, 1, 0)

论坛徽章:
0
4 [报告]
发表于 2008-06-23 16:39 |只看该作者
thanks:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP