RakNet学习(29) -- Interface 2插件

Interface2 插件

 

插件Interface2 概述

        PluginInterface2.h是与RakNet一起工作的一个类接口,提供了一些自动功能,也即在消息到达用户之前,拦截,修改,以及创建消息。插件可以附加到RakPeerInterface或者PacketizedTCP实例上。每一次Receive()被调用,插件都会进行更新。使用这个插件,仅仅需要从基类派生,并且实现想要处理的虚函数。然后通过调用RakPeerInterface::AttachPlugin()方法注册这个插件类即可。

如下列举了一些你在大多数情况下要实现的虚函数:

// 每次检验数据包都会调用Update()函数.

virtual void Update(void);


// 每一个数据包都会调用OnReceive()方法.

// \param[in] packet 返回给用户的数据包(packet)

// \return True 允许游戏或其他的插件得到这个消息,False则不允许。

virtual PluginReceiveResultOnReceive(Packet *packet);


// 因为用户为指定的系统调用了RakPeer::CloseConnection(),连接丢失时,调用这个方法

// \param[in] systemAddress 丢失连接的用户的systemAddress

// \param[in] rakNetGuid 指定系统的guid

// \param[in] lostConnectionReason 连接是如何关闭的,手动,连接丢失,或断开通知

virtual voidOnClosedConnection(SystemAddress systemAddress, RakNetGUID rakNetGUID,PI2_LostConnectionReason lostConnectionReason );


// 得到一个新连接时,调用这个函数。

// \param[in] systemAddress 新连接的地址。

// \param[in] rakNetGuid 指定系统的guid

// \param[in] isIncoming 如果为true, 连接是ID_NEW_INCOMING_CONNECTION,

// 或其他相同情况。

virtual void OnNewConnection(SystemAddresssystemAddress, RakNetGUID rakNetGUID, bool isIncoming);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值