免费注册 查看新帖 |

Chinaunix

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

socket编程传输图片的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-09 10:01 |只看该作者 |倒序浏览
在socket编程中,我在服务端用send函数发送数据,在客户端用recv函数接受数据。当发送一个文本文件时,能够正常发送和接收。但是当发送一张图片时,服务端只发送了图片的一部分就以为图片发送完毕了,就不发了,客户端那边就只能接收到该图片的一部分数据。请问这是怎么回事?
在程序中,我用while(fgets(buf,BUFLEN,fp)!=NULL)获取要传输的文件的数据,然后send()。

论坛徽章:
0
2 [报告]
发表于 2006-10-09 13:49 |只看该作者
没有人帮帮小弟吗?

论坛徽章:
0
3 [报告]
发表于 2006-10-11 15:37 |只看该作者

图片文件是2进制文件,

因为你使用的函数是针对文本文件.导致读文件中间,就认为文件结束

论坛徽章:
0
4 [报告]
发表于 2006-10-11 18:30 |只看该作者
fgets(buf,BUFLEN,fp)!=NULL
遇到特殊字符就不读取了。
fread比较合适吧。

论坛徽章:
0
5 [报告]
发表于 2006-10-21 15:28 |只看该作者
不能用fgets,fgets读到换行就结束了,用read

论坛徽章:
0
6 [报告]
发表于 2006-10-22 09:26 |只看该作者
用fread读文件,读出数据强制为unsigned char后再send。

论坛徽章:
0
7 [报告]
发表于 2012-12-04 16:35 |只看该作者
能不能看看你的代码呀,我也刚开始学,想借鉴借鉴
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP