SOCKET 发送文件

风吹草低现羊牛 2010-01-07 06:07:03
如果我只用SEND发送文件RECV接收文件。能保证发送到的文件是一个完整的文件吗?中间会不会出错,接收是否能接收完呀。。。求解。。。如果不能SEND或者RECV完成,该如何处理。。。谢谢大家!
...全文
283 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
吴丁 2010-01-08
  • 打赏
  • 举报
回复
先发头。再发数据。。。
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 versaariel 的回复:]
引用 13 楼 lowspeed 的回复:
引用 12 楼 xianzq888 的回复:
引用 10 楼 versaariel 的回复:
原文件和目标文件都做一次MD5校验

为什么要做MD5效验捏。。。。可否解释一下!谢谢

检验文件完整性- -  同样的文件md5相同。
不过我不觉得没必要这么夸张,比较个大小就可以了,
反正失败了都得重来


好象比较大小不行的,如果是压缩文件,大小字节都一样,但是还是错的,因为文件分割传依据当前的网络环境,接收顺序会有误差,有过这样的经验,再说MD5哪里夸张了,不理解

hairetz说的对的,tcp有拥塞控制跟丢包重发的机制
[/Quote]

看来那个机制根本没用,,,。。
  • 打赏
  • 举报
回复
拥塞控制跟丢包重发的机制 呃。。原来是这样的哦。我看看我能行不
versaariel 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lowspeed 的回复:]
引用 12 楼 xianzq888 的回复:
引用 10 楼 versaariel 的回复:
原文件和目标文件都做一次MD5校验

为什么要做MD5效验捏。。。。可否解释一下!谢谢

检验文件完整性- -  同样的文件md5相同。
不过我不觉得没必要这么夸张,比较个大小就可以了,
反正失败了都得重来
[/Quote]

好象比较大小不行的,如果是压缩文件,大小字节都一样,但是还是错的,因为文件分割传依据当前的网络环境,接收顺序会有误差,有过这样的经验,再说MD5哪里夸张了,不理解

hairetz说的对的,tcp有拥塞控制跟丢包重发的机制
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xianzq888 的回复:]
引用 3 楼 hairetz 的回复:
http://blog.csdn.net/microtong/archive/2008/11/21/3347546.aspx

就是个基本的tcp的例子就可以了。

你好,我看了你这个地址的SOCKET,这就是一个简单的发送字符串的一个C/S模型。。这种模型在发送的时候不会出现数据出错或者接收的时候不会出现数据没接收完这种情况呢?
[/Quote]


不会的,你用tcp有拥塞控制跟丢包重发的机制,你只要循环接收,数据肯定是正常的
DLevel 2010-01-07
  • 打赏
  • 举报
回复
神那,不考虑网络安全问题,为什么要做MD5呢?接受过程中没有异常,就没问题了呗。汗的,说的我都想写一个那程序了。
楼主有socket 服务器端 和client端代码么?

要简单能用的,我帮你改。晕的
sax小bin 2010-01-07
  • 打赏
  • 举报
回复
一开始传个大小出去,
接收完文件之后检测大小不一致,
就重传啊。。。
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lowspeed 的回复:]
引用 12 楼 xianzq888 的回复:
引用 10 楼 versaariel 的回复:
原文件和目标文件都做一次MD5校验

为什么要做MD5效验捏。。。。可否解释一下!谢谢

检验文件完整性- -  同样的文件md5相同。
不过我不觉得没必要这么夸张,比较个大小就可以了,
反正失败了都得重来
[/Quote]
哦,也就是那个WinMD5效验嘛。。。
lowspeed 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xianzq888 的回复:]
引用 10 楼 versaariel 的回复:
原文件和目标文件都做一次MD5校验

为什么要做MD5效验捏。。。。可否解释一下!谢谢
[/Quote]
检验文件完整性- - 同样的文件md5相同。
不过我不觉得没必要这么夸张,比较个大小就可以了,
反正失败了都得重来
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 versaariel 的回复:]
原文件和目标文件都做一次MD5校验
[/Quote]
为什么要做MD5效验捏。。。。可否解释一下!谢谢
PCzhangtl 2010-01-07
  • 打赏
  • 举报
回复
你到我的资源里看一下我的例子有没有帮助。
versaariel 2010-01-07
  • 打赏
  • 举报
回复
原文件和目标文件都做一次MD5校验
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dlevel 的回复:]
BUG,就要找原因了,发送问题?接受问题?其实就是一个文件切割问题。会文件切割,传输就没问题。
[/Quote]
test一下
DLevel 2010-01-07
  • 打赏
  • 举报
回复
BUG,就要找原因了,发送问题?接受问题?其实就是一个文件切割问题。会文件切割,传输就没问题。
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dlevel 的回复:]
不完整情况属于BUG问题。
[/Quote]
如何解决这个BUG问题呢。。。THANK YOU
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dlevel 的回复:]
不完整情况属于BUG问题。
[/Quote]
如何解决这个BUG问题呢。。。THANK YOU
DLevel 2010-01-07
  • 打赏
  • 举报
回复
不完整情况属于BUG问题。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hairetz 的回复:]
http://blog.csdn.net/microtong/archive/2008/11/21/3347546.aspx

就是个基本的tcp的例子就可以了。
[/Quote]
你好,我看了你这个地址的SOCKET,这就是一个简单的发送字符串的一个C/S模型。。这种模型在发送的时候不会出现数据出错或者接收的时候不会出现数据没接收完这种情况呢?
  • 打赏
  • 举报
回复
http://blog.csdn.net/microtong/archive/2008/11/21/3347546.aspx

就是个基本的tcp的例子就可以了。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangxipu 的回复:]
循环接收,或者用结构体打个包加个长度的字段进去
[/Quote]
呃。。。能否给点儿例子启发下呀。。。。

启发式说明问题。。。嘿嘿!!!!
加载更多回复(1)

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧