手机通过socket访问http网址文件下载txt文件正常.exe.jar文件下载异常.求救!
大家好.我是在手机客户端写了个socket程序,通过中国移动基站连接到某个具体网址,进行文件下载。
以2024个字节不断的调用recv读入数据,然后去掉http包头后写入文件,直到读不到数据为止。
测试后发现20k左右的txt文件下载正常的.但是其他格式.比如exe.jar下载,也是20k左右的,最后写入文件的只是不到1K的数据.不完整的,而且每次下载的这些不完整数据都是一样的,真心求救,希望有高手帮忙,谢谢!
[解决办法]
你写文件的时候用了类似strlen()之类的东西吧,把收到的数据当字符串使用了。你直接根据recv返回值大小来写入文件
[解决办法]
用二进制方式写文件,不要用字符串