blueeyes1004 发表于 2006-10-09 10:01

socket编程传输图片的问题

在socket编程中,我在服务端用send函数发送数据,在客户端用recv函数接受数据。当发送一个文本文件时,能够正常发送和接收。但是当发送一张图片时,服务端只发送了图片的一部分就以为图片发送完毕了,就不发了,客户端那边就只能接收到该图片的一部分数据。请问这是怎么回事?
在程序中,我用while(fgets(buf,BUFLEN,fp)!=NULL)获取要传输的文件的数据,然后send()。

blueeyes1004 发表于 2006-10-09 13:49

没有人帮帮小弟吗?

zhengyufu 发表于 2006-10-11 15:37

图片文件是2进制文件,

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

babam 发表于 2006-10-11 18:30

fgets(buf,BUFLEN,fp)!=NULL
遇到特殊字符就不读取了。
fread比较合适吧。

GongWithTheWind 发表于 2006-10-21 15:28

不能用fgets,fgets读到换行就结束了,用read

longshort 发表于 2006-10-22 09:26

用fread读文件,读出数据强制为unsigned char后再send。

liuluoluocici 发表于 2012-12-04 16:35

能不能看看你的代码呀,我也刚开始学,想借鉴借鉴
页: [1]
查看完整版本: socket编程传输图片的问题