高分求vc类似qq文件传输的方案,可以用tcp也可以用udp,请大家指教

yiluqingfeng 2009-09-10 11:47:30
像qq一样客户端A同时能给多个其他的客户端发送文件,在发送的同时或者平常的情况下能接收多个客户端的同时发来的文件,请问客户端怎么循环发送文件(就是同时发送多个文件),服务器端又该怎么处理这些客户端发送的文件,怎么转发给目标的客户端,目标客户端又怎么循环接收这些文件(同时接收多个文件),是用tcp还是udp协议?谢谢大家请指教。
...全文
275 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
善古 2010-09-30
  • 打赏
  • 举报
回复
我还能说些什么呢,
那我就顶了吧...
诺伦 2009-09-13
  • 打赏
  • 举报
回复
顶顶
yiluqingfeng 2009-09-13
  • 打赏
  • 举报
回复
有人在吗
lanlingmeijiu 2009-09-11
  • 打赏
  • 举报
回复
我也不懂其中的机制
yiluqingfeng 2009-09-11
  • 打赏
  • 举报
回复
请大家踊跃发言啊
yiluqingfeng 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 qq539929779 的回复:]
俺有一个库,能实现打洞功能的,呵
[/Quote]是吗 ?能不能 用一下啊 我的邮箱是shaolove2007@163.com谢谢
海忠 2009-09-11
  • 打赏
  • 举报
回复
顶一下!!!!


=====================================
Skin++ 让界面与逻辑彻底分离
精彩界面制作视频演示
www.uipower.com
jyh_baoding 2009-09-11
  • 打赏
  • 举报
回复
下载QQ的源码分析一下啊
everysports 2009-09-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dirdirdir3 的回复:]
qq的文件发送是点对点的,也就是和一般的socket没什么不同..........
[/Quote]
我也是刚刚才知道,局域网内很容易找到相关例子程序,在广域网上,还需要“TCP/UDP打洞”技术。你可以搜一下这个关键词,希望能帮到你。
奉海 2009-09-10
  • 打赏
  • 举报
回复
客户端A同时能给多个其他的客户端发送文件
向多个socket,send数据就可以了。
同时接收多个文件
文件数据包中加文件标示,收到文件数据包后先判断下标示,看是哪个文件的数据,然后再写到对应的文件中。
dirdirdir3 2009-09-10
  • 打赏
  • 举报
回复
qq的文件发送是点对点的,也就是和一般的socket没什么不同..........
ylmbtm 2009-09-10
  • 打赏
  • 举报
回复
还有一种办法,只用一个套接字,来进行传输,我们主要做的事就是设计数据结构。
如果多个线程用一个套接字进行发送,数据包里要有文件的名字,数据的位置,
那边收到后,不同的包写到不同的文件中,就行了。
qq539929779 2009-09-10
  • 打赏
  • 举报
回复
俺有一个库,能实现打洞功能的,呵
dinona 2009-09-10
  • 打赏
  • 举报
回复
这种问题前提需要你的服务器在哪里,怎样的架构:
[1]局域网内架设的服务器
这样的话就不需要什么NAT穿透了,要转发也很容易,先让服务器将你想要转发的客户知道你要发文件了,
从而建立直接你和客户的点对点连接,然后就转发文件,如果面向多客户你就开多几个线程
[2]广域网内架设了服务器
好吧,那你去了解NAT穿透吧,TCP打洞让处于不同区域的客户建立点对点的连接
yiluqingfeng 2009-09-10
  • 打赏
  • 举报
回复
请大家踊跃发表自己的意见啊
ToCpp 2009-09-10
  • 打赏
  • 举报
回复
学习了
UDX协议 2009-09-10
  • 打赏
  • 举报
回复
优先p2p nat,实现点对点文件传输。

对于不能穿透的采用tcp转发,
目前都是这种方案。
yiluqingfeng 2009-09-10
  • 打赏
  • 举报
回复
关键就在于我怎么开启多个线程循环接收和发送,这个是我疑惑的点之一
hunterljm 2009-09-10
  • 打赏
  • 举报
回复
第一,QQ是点对点进行传输文件的.第二,你要同时发就应该要用到并发控制吧.第三,外网传内网的时候要用"TCP/UDP打洞"技术吧.第四,p2p技术应该在你这用不到.其实在这只能说个大概,我觉得实现起来有很多细节都要好好考虑.
lbjfeng 2009-09-10
  • 打赏
  • 举报
回复
这个网上有N多代码的·~~

呵呵,我当时就看到过不少,可以下来看看,学习学习,呵呵
加载更多回复(1)

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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