ProudNet 具有强大的P2P通信功能。除了一般的P2P打洞和Relay功能,ProudNet还具有以下特点: 在ProudNet中,当用户请求创建或加入P2P组后( Proud.CNetServer.CreateP2PGroup或 Proud.CNetServer.CreateP2PGroup Proud.CNetServer.JoinP2PGroup 之后, Proud.RmiContext.m_relayed, Proud.CNetClientInfo.m_RelayedP2P, Proud.CNetPeerInfo.m_RelayedP2P 的值仍是false,而开始P2P通信之后,它们的值将变成true。
ProudNet的UDP通信性能
ProudNet 在使用UDP协议时,通过以下技巧来提升通信性能: 使用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通信。
|