传送文件相关问题

Coding3125 2007-11-08 12:21:08
要做一个类似飞鸽的东东。
搭好了框架,做好了文本传输。
文件传输还没做好。

我这样想:
为保证并发收发,我维护两个链表
1、发送作业表:作业ID(由IP、端口、时间组成,确保互异)、一个文件链。
2、接收作业表:作业ID(由IP、端口、时间组成,确保互异)、保存路径。

发送时,发出ID和欲发送文件的文件名。接收后,文件名可以取出以备显示,选择保存路径后,加入接收作业表,然后发送应答。
发送方收到应答后,开始发送文件。结束时发送一个结束标志。接收方收到结束标志后结束文件传输。每次传输都带着ID。

对于单个文件的传输而言,如何做呢?
已知对方IP、端口、待传文件。求文件传输的思路。

请指点一二,谢谢大家!
...全文
50 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coding3125 2007-11-09
  • 打赏
  • 举报
回复
对,我也是这么想的。
但开始传输。是怎么传的呢?
把文件读出来,然后写到缓冲区里,一次写一部分,然后发出。
接收到后,开辟文件,每次写一部分直到写完?
对于大文件如何处理呢?

能把代码发我邮箱吗?谢谢哦
邮箱:wangxing1985@gmail.com
hawkbird 2007-11-09
  • 打赏
  • 举报
回复
说一下原理吧,发送文件时,先选择要发送的文件,同时获取当前时钟信息作标识,并将选择的文件路径,同时钟存放到一个链表中,同时将文件名封包通过udp直接传给对方即可,需要将取得的时钟值一起封包。
对方接受后,将信息放到一个链表中,将显示文件名及大小,确定是全部接受还是单个接受,然后给发送方发送udp包请求传输文件,udp包中需要有时钟,便于发送方从先前的链表中查找相应的路径及信息,然后开始传输。
////
以上是我的大体思路。
hawkbird 2007-11-09
  • 打赏
  • 举报
回复
我做了类似的小程序,可以发送文件,多个文件单个文件均可,采用tcp/ip协议。发送文件名给对方使用udp协议,自,可以给你源码,尚未完善。由于人工分包,传输速度比飞鸽慢一些。不过在局域网还可以,能达到6m/s吧
nuaawenlin 2007-11-09
  • 打赏
  • 举报
回复
socket编程
可以参考www.vckbase.com
Coding3125 2007-11-08
  • 打赏
  • 举报
回复
能不能说的明确点?
问题的关键是如何进行文件的传输。
这个知道了,包头协议自然就容易设计了。
chNeed1 2007-11-08
  • 打赏
  • 举报
回复
自定义包头协议

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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