RakNet--Plugin Interface 2
![]() |
插件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);
|
![]() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步