示例#1
0
	交互的结果返回给引擎baseapp层层,通过KBEngine.accountLoginResponse能够将信息推送到baseapp层。
	
3:充值计费
	当baseapp上请求计费entity.charge()后,请求会由loginapp转发到dbmgr,如果dbmgr挂接了interfaces,则dbmgr将请求转发至这里(KBEngine.onRequestCharge)
	此时脚本收到这个请求之后可以使用各种方式与第三方平台通信,可以使用python的http库也能直接使用socket,当与第三方平台交互完毕之后应该将
	交互的结果返回给引擎baseapp层,通过KBEngine.chargeResponse能够将信息推送到baseapp层entity.charge时给入的回调或者回调到onLoseChargeCB接口。
	
	某些平台要求客户端直接与平台请求计费,平台采用回调服务器的方式来完成请求, 参考“平台回调”。
	
4: 平台回调
	要完成此功能应该在脚本层创建一个socket,
	并将socket挂接到KBEngine中(这样可防止阻塞导致主线程卡),然后监听指定的端口。
	使用KBE的KBEngine.registerReadFileDescriptor()和KBEngine.registerWriteFileDescriptor(),具体查看API文档与Poller.py。
"""

g_poller = Poller()


def onInterfaceAppReady():
    """
	KBEngine method.
	interfaces已经准备好了
	"""
    INFO_MSG('onInterfaceAppReady: bootstrapGroupIndex=%s, bootstrapGlobalIndex=%s' % \
     (os.getenv("KBE_BOOTIDX_GROUP"), os.getenv("KBE_BOOTIDX_GLOBAL")))

    #KBEngine.addTimer(0.01, 1.0, onTick)
    g_poller.start("localhost", 30040)


def onTick(timerID):
示例#2
0
文件: web.py 项目: YazanHalawa/CS360
	def run(self):
		poller = Poller(self.args.port, self.args.debug)
		poller.run()