与PHP通信

游戏服务器中,与平台的通信是必不可少的。

使用一个web中间层与两端通信,php脚本控制,简单易用,让游戏服务器专心干自己的事情。

1.php部分:

使用nel_message.php,与游戏服务器通信。

该结构提供与游戏服务器通信的基础工具,如通信基类CCallbackClient、消息类CMesssage。

代码位置:code\EVA\tools\server\www\login

	class CLoginServiceWeb extends CCallbackClient
	{

		function login($userId, $token)
		{
			$msg = new CMessage;
			$msg->setName("LG");
			$msg->serialUint32($userId);
			$msg->serialString($token);
	
			return parent::sendMessage($msg);
		}
	}

2.C++部分:

与普通服务器间通信类似,这里使用的是CNelCallbackServerAdaptor


	std::auto_ptr<ICallbackServerAdaptor>	_CallbackServer;

	void getCallbakArray(NLNET::TCallbackItem *&arrayPtr, uint32 &arraySize)
	{
		static NLNET::TCallbackItem callbackArray[] =
		{
			{	"LG",	CLoginServiceWebItf::cb_WebLogin	},
		};
	}

	static void cb_WebLogin (NLNET::CMessage &message, NLNET::TSockId from, NLNET::CCallbackNetBase &netbase)
	{
	}

详见以下三个文件:



3.启动脚本

Module需要使用脚本启动,在相应服务器的配置文件中增加启动命令:


LSWebPort   = 30001;
StartCommands =
{
	// create the login service module and open the web interface
	"moduleManager.createModule LoginService ls webPort="+LSWebPort,
};


至此,可实现 客户端->第三方平台->外网web服务器->内部服务器组   之间的消息传递。


传送门:http://blog.youkuaiyun.com/li9chuan/article/details/38387061


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值