游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2452|回复: 0

ProudNet P2P / UDP 通信功能

[复制链接]

29

主题

38

帖子

384

积分

中级会员

Rank: 3Rank: 3

积分
384
QQ
发表于 2017-4-21 16:53:18 | 显示全部楼层 |阅读模式
ProudNet 具有强大的P2P通信功能。除了一般的P2P打洞和Relay功能,ProudNet还具有以下特点:
  • 提供即时P2P通信功能。
  • 对于特别灵敏或是有缺陷的NAT设备也能工作。
  • 解决了慢速网络中P2P流量过载的问题。
  • 支持多种类型的P2P打洞功能:Full cone、restrict、prot restricted、symmetric NAT等。
  • 支持基于可靠消息传输的P2P通信


在ProudNet中,当用户请求创建或加入P2P组后( Proud.CNetServer.CreateP2PGroupProud.CNetServer.CreateP2PGroup Proud.CNetServer.JoinP2PGroup 之后, Proud.RmiContext.m_relayed, Proud.CNetClientInfo.m_RelayedP2P, Proud.CNetPeerInfo.m_RelayedP2P 的值仍是false,而开始P2P通信之后,它们的值将变成true。

ProudNet的UDP通信性能
ProudNet 在使用UDP协议时,通过以下技巧来提升通信性能:
  • 消息合并
  • 预防MTU失败


使用ProudNet时,对于Latency在1毫秒以下的LAN环境,少量通信会增加ProudNet的负荷。当消息量增加或是处于高Latency的WAN网络环境时,通过消息合并功能,ProudNet的消息处理负荷也不会显著增加。
网络流量与RMI调用次数的关系


如果是通过Internet在超过100公里距离的主机间通信,那么网络数据包需要通过很多的网关设备。每个网关设备都有一个最大报文长度(MTU)的设置。如果发送的ICMP报文的长度大于设备的MTU长度,则会发生ICMP报文分片。但是通常为了避免ICMP攻击,很多设备会关闭ICMP响应,这种情况下MTU会因为无法检测ICMP分片而失败 。ProudNet提供了针对这种情况的解决方案。
在100km以上距离的网络通信中,需要通过多数的多机种Gateway装置数据包。各Gateway已指定了能够进行相互不同的可担负的MTU size,但发送数据包一方如果超过了已定义的MTU大小则会发生ICMP packet fragment数据包,其结果会切断主机间的UDP通信。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-5-15 17:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表