P2P?

羽飞 2011-04-08 10:46:23
用UDP设计P2P,客户端是维护多个通信套接字和通信地址,还是用一个套接字与所有来者通信?
那一种设计更好一些,如果是维护多个通信套接字,是不是每个套接字都要维护一个发送与接收链表,那样是不是每个链表都要弄一个定时器(这样不太好吧)?
...全文
201 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zijie405 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tiger9991 的回复:]

引用 5 楼 djalang0748 的回复:
QQ的模式是 CS,客户端只有1个SOCKET连接到服务器端,你QQ里好友发送的消息先到达服务器端,然后再通过服务器端转发给你的


扯了吧,只有群功能是这个样子得

QQ是记录2个好友的地址.然后让这2个好友自己建立UDP连接相互通信的.全走服务器端早就完蛋了
[/Quote]

对, 据我了解, 服务网只起一个 维持 端口 的作用, 不参与任何的数据传输。
njaceht 2011-06-30
  • 打赏
  • 举报
回复
mark
羽飞 2011-04-21
  • 打赏
  • 举报
回复
QQ传送文件基本上就是用的P2P,不知道打洞失败服务器会不会转发文件
飞信貌似默认是TCP登录
不知道YY是怎么回事
oyljerry 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hnwyllmm 的回复:]

飞信是P2P模式还是转发模式
[/Quote]
飞信应该有参考QQ
羽飞 2011-04-19
  • 打赏
  • 举报
回复
飞信是P2P模式还是转发模式
wulala789 2011-04-19
  • 打赏
  • 举报
回复
我觉应该是根据NAT类型,试图穿越,如果穿越不了,就找超级节点(公网机子)转发,超级节点没有了,就找服务器,所以是服务器转发与p2p混合使用的。

我觉得客户端在登陆时开一个本地监听端口会比较好做,客户端一登陆就把端口报上去,这样在服务器帮助穿越的时候,就会有目的,不会变来变去
smwhotjay 2011-04-18
  • 打赏
  • 举报
回复
PNP NPN
傻X 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 djalang0748 的回复:]
QQ的模式是 CS,客户端只有1个SOCKET连接到服务器端,你QQ里好友发送的消息先到达服务器端,然后再通过服务器端转发给你的
[/Quote]

扯了吧,只有群功能是这个样子得

QQ是记录2个好友的地址.然后让这2个好友自己建立UDP连接相互通信的.全走服务器端早就完蛋了
djalang0748 2011-04-18
  • 打赏
  • 举报
回复
QQ的模式是 CS,客户端只有1个SOCKET连接到服务器端,你QQ里好友发送的消息先到达服务器端,然后再通过服务器端转发给你的
羽飞 2011-04-08
  • 打赏
  • 举报
回复
多谢各位大侠指点。小弟还有一点不太明白,就像QQ这样的东西,一个用户可以同时和多个人通信,那么这个客户端会为每个会话都维护一个通信套接字,还是就用一个?
前面几位意见不太一致啊,让我更迷惑了
Eleven 2011-04-08
  • 打赏
  • 举报
回复
http://www.ppcn.net/c2.aspx
看下P2P的原理,希望对你有帮助~
oyljerry 2011-04-08
  • 打赏
  • 举报
回复
可以多线程,每个线程处理一个套接字等,然后各自进行自己的通信,互不干扰
wpllg 2011-04-08
  • 打赏
  • 举报
回复
一般是指一个SOCKET和其他所有的通讯,否则就不叫P2P了.

18,356

社区成员

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

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