用es建立文件服务器,ESFramework 使用技巧 -- 部署P2P服务器

可靠的P2P通信功能是ESFramework/ESPlus提供的一个基础而又强大的功能,ESFramework 开发手册(04) --

可靠的P2P详细描述了在客户端如何使用框架提供的这一武器。本文我们则将介绍的重点放到P2P服务端。

P2P服务器用于协助客户端之间创建P2P通道。在ESPlus3.0以前的版本中,P2P服务器是集成在服务端Rapid引擎中的。在2012.04.23最新发布的3.0版本中,这种模式依然被支持,而且,ESPlus又提供了另外一种部署模型:独立部署P2P服务器。

一.集成部署P2P服务器

1.服务端IRapidServerEngine有一个UseAsP2PServer属性,用于指示服务端是否同时作为P2P服务器运行。如果将该属性设置为true,然后启动服务端,P2P服务器就会被集成在服务端中同时运行起来。

2.集成启动的P2P服务器监听的UDP端口号为当前IRapidServerEngine监听的TCP端口号加1。比如:IRapidServerEngine监听的TCP端口号为4530(通过其Initialize方法初始化时设定),则P2P服务器监听的UDP端口就是4531。如果是服务端使用框架内置的MainServerForm作为主界面显示,将会看到:

f806ea9e6cd14e1de86bd0d247ddde6c.png

3.如果服务端集成启动了P2P服务器,那么客户端不再需要设置IRapidPassiveEngine的P2PServerAddress属性了。客户端将在登录服务端时,发现如果服务端已经集成了P2P服务器,则会自动与集成的P2P服务器建立联系。

4.如果服务端集成启动了P2P服务器,客户端仍然可以设置IRapidPassiveEngine的P2PServerAddress属性。比如,直接将P2PServerAddress设置为集成P2P服务器的地址:

rapidPassiveEngine.P2PServerAddress = new AgileIPE("192.168.0.98", 4531);

这种情况下,客户端还是会使用服务端集成的P2P服务器。但是,如果将P2PServerAddress设置为其它地址:

rapidPassiveEngine.P2PServerAddress = new AgileIPE("192.168.0.100", 4500);

那么,客户端就不会再使用服务端集成的P2P服务器,而是转向使用监听在192.168.0.100的4500端口的P2P服务器了,这种情况,就像是使用独立部署的P2P服务器一样了。

二.独立部署P2P服务器

我们提供了可独立启动的P2P服务器exe,运行后,显示的界面如下所示:

a209e8f7b5076660a4a3c2fb58625961.png

1.配置文件

可以通过配置文件修改要监听的端口号等信息。xml配置文件内容如下所示:

Port设定要监听的UDP端口。

2.如何部署

首先,我们将服务端的IRapidServerEngine的UseAsP2PServer属性设为false,表示将要使用独立部署的P2P服务器。

其次,启动P2P服务器。我们可以把P2P服务器部署到不同于RapidServerEngine服务端所在的服务器上。

最后,将客户端IRapidPassiveEngine的P2PServerAddress属性设置为P2P服务器的地址就可以了。

由于P2P服务器消耗的资源非常的小,对服务器配置的要求不是很高。所以,多个RapidServerEngine服务端可以共享一个P2P服务器。特别是在ESPlatform群集中,我们可以部署许多个应用服务器,但是只要部署一个P2P服务器就可以了。

三.禁用P2P

我们只要将服务端的IRapidServerEngine的UseAsP2PServer属性设为false,并将客户端IRapidPassiveEngine的P2PServerAddress属性设置为null,就表示禁用P2P。这样,客户端IRapidPassiveEngine初始化完成后,其P2PController属性的值将为null。

四.下载

-----------------------------------------------------------------------------------------------------------------------------------------------

Q Q:168757008

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值