社区
网络编程
帖子详情
P2P客户端该Bind几个UDP端口?
SmallBigCat
2004-12-27 10:24:29
谢谢,请有经验的老鸟答复,分不够可以再加!
...全文
417
26
打赏
收藏
P2P客户端该Bind几个UDP端口?
谢谢,请有经验的老鸟答复,分不够可以再加!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
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
打赏
举报
回复
看具体的应用
加载更多回复(6)
UDP
通讯(
客户端
服务器模式)源码
1. **
客户端
**:
客户端
首先创建一个Socket,然后通过Socket的
bind
方法绑定本地
端口
。接着,它构造一个包含目标服务器IP地址和
端口
号的数据报,并使用sendto方法将其发送出去。最后,
客户端
可能会使用recvfrom方法来...
p2p
的
客户端
和服务器的小程序
例如,`SOCKET`类型用于表示网络连接,`
bind
()`函数用于绑定服务器的IP地址和
端口
号,`listen()`函数用于开始监听,`accept()`函数用于接受新的连接,`send()`和`recv()`函数则用于数据的发送和接收。 此外,考虑到...
Udp
编程:服务器和
客户端
-
UDP
服务器和
客户端
的实现可以扩展应用于各种场景,如
P2P
文件分享、在线游戏、实时监控等。 - 由于
UDP
的无连接特性,它适用于短暂的、一次性交互,例如DNS查询。 通过这个项目,你可以学习到如何在C++环境中使用...
P2P
聊天软件
UDP
C++
首先,
P2P
网络的核心理念是每个节点既是
客户端
也是服务器,它们直接与其他节点通信。在
P2P
聊天软件中,每个用户都运行一个软件实例,可以发送和接收消息。这种架构的优点在于它可以扩展到非常大的规模,因为每个参与...
UDP
_
P2P
通信对话框程序——VS2010版
在
P2P
通信中,每个节点既是服务器也是
客户端
,因此每个程序实例都可以收发数据。为了进行通信,双方需要知道对方的IP地址和
端口
号,这可以通过预先约定或者在运行时交换来实现。在程序中,可以设计一个用户界面,...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章