P2P客户端该Bind几个UDP端口?

SmallBigCat 2004-12-27 10:24:29
谢谢,请有经验的老鸟答复,分不够可以再加!
...全文
350 点赞 收藏 26
写回复
26 条回复
SmallBigCat 2004年12月31日
再订
回复 点赞
yaotang 2004年12月30日
不错,关注
回复 点赞
SmallBigCat 2004年12月30日
回复 点赞
oyljerry 2004年12月29日
Symmetric NAT的端口会变化,需要猜测
回复 点赞
oyljerry 2004年12月29日
每个应用一个端口号
回复 点赞
SmallBigCat 2004年12月29日
再顶
回复 点赞
SmallBigCat 2004年12月29日
to oyljerry(☆勇敢的心☆-Paper Reviewing):

是一个应用,只是会与多个在线好友同时对话
回复 点赞
SmallBigCat 2004年12月28日
to phoenixsharp(小星星):

1.是有一个公网的服务端
2.我这里指常用的、非Symmetric NAT


与你QQ的原理是一样的,就是在某种特定的NAT下,比如A有3个好友B、C、D在线,A会定时给B、C、D发送激活包(当然B、C、D也会给A发送激活包);此时A如果想与B、C、D中的任一方发送消息,就会不通;如果A的好友只有B、C、D中的一个在线,则A发送消息就能通过;


现在还不能确定是A所在NAT的原因,还是B、C、D所在NAT的原因,测试中B、C、D是在一个NAT下,其NAT类型为Symmetric NAT
回复 点赞
phoenixsharp 2004年12月28日
1.俺也做过QQ,不知道楼主的具体程序结构是怎么样的?把你的大致思想说出来看看,应该有一个公网的服务端吧?请详表。
2.非对称NAT是不是俺说的那种一个SOCKET发给多个人,NAT会生成不同的端口?不好意思,俺对概念不是很感冒?有劳解释一下。

P.S:我写的QQ只需要知道众好友的(经NAT的)IP:PORT--》通过SERVER获得;即可通讯。
回复 点赞
SmallBigCat 2004年12月28日
顶,人人有分
回复 点赞
skfox 2004年12月28日
uo
回复 点赞
SmallBigCat 2004年12月28日
to phoenixsharp(小星星):

是及时通讯方面的应用;



现在遇到的问题是:

有A在某些端口限制的非对称NAT下登录,如果A同时与多个在线好友对话,此时A与好友之间的UDP通道是不能够通的(及对方收不到A发送的激活包);如果A只有一个在线好友或只与其中一个好友对话,则对方能够收到A发送的激活包;经检测A的NAT类型为端口受限的非对称NAT;


不知这种情况如何解决?
回复 点赞
phoenixsharp 2004年12月28日
楼主究竟是什么应用,为什么要开多个端口,而且还要BIND/?,一个端口也可以干很多不同的事啊,数据里弄一个标识头,什么样的类型干什么样的事。
有些NAT是这样:A to S 和 A to B会NAT不同的端口,如A TO S(NAT PORT:2003) 而A 再发数据给B,NAT PORT 变增为2004或其它,这是一种不愿意看到的行为;而大多数的NAT保持端口不变,只是在这个端口上加一个A TO B的SESSION。这是值得表扬的~~~~
回复 点赞
SmallBigCat 2004年12月28日
回复 点赞
kingzai 2004年12月27日
一般是一个端口。如果在同一台机,开多个实例,比如开两个QQ,就是一个4000,另外一个则4001
回复 点赞
SmallBigCat 2004年12月27日
谢谢

我问的是诸如及时通讯之类的软件,需要绑定几个端口
回复 点赞
zhangqu_980371 2004年12月27日
20000以上就没有问题了(不要和系统、其他软件有冲突就可以)。
到了网关,网关会转换的别的断口。
回复 点赞
SmallBigCat 2004年12月27日
比如QQ一样的及时通讯之类的
回复 点赞
HunterForPig 2004年12月27日
说说你的具体应用
回复 点赞
kingzai 2004年12月27日
看具体的应用
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7878

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告