RakNet--Plugin Interface 2

Jenkins Software

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);

 

 

See Also

 

Index
posted @ 2012-09-16 21:57  杂草  阅读(223)  评论(0编辑  收藏  举报