|
|

楼主 |
发表于 2009-1-3 21:39:00
|
显示全部楼层
Re:请问这里有做虚幻3项目的程序么?
你好啊, 刚好有个问题请教下. 我目前的任务是将网络功能集成到引擎中,我们公司有一套服务器的架构, 提供了一套API来供客户端跟服务器通讯, 但是该库需要一个初始化过程, 有人建议在LANCH.CPP中进行初始化, 但是我不想修改引擎的代码,不知道还有没有其他途径, 我目前想到的是可否利用脚本的基类GameInfo内嵌一个native的函数, 然后执行网络库的初始化过程, 不知道这样是否可行.
另外,在客户端跟服务器通讯的时候, 我们想在客户端限制某些请求在一段时间内只能发送一次, 好比玩家的位置信息, 也许只需要隔一段时间就给服务器发送一个更新, 但是不需要很频繁的发送更新. 但是我又想将对这些时间间隔的控制独立出来, 而不希望像下面这样做:
//在某事件出发时运行, 伪代码...
function SomeEvent()
{
TimeElapse = GetCurrentTime() - SendingTime;
// 只有逝去的时间超过了这个时间间隔,才允许再次发送
if ( TimeElapse > TimeInterval)
{
SendRequestToServer();
SendingTime = GetCurrentTime();
}
}
如果代码中很多这种操作,这对时间限制的代码也会遍布整个程序, 这势必维护起来十分麻烦, 因此我希望将对时间控制的逻辑独立到一个对象中, 想法时,将需要发送的请求缓存起来, 然后针对每一种请求,检查他上次发送的时间是否已经超过一定时间间隔, 如果时则允许发送, 否则忽略, 并且希望某些请求是延迟的.
因此需要该对象能够提供一个函数, 能够保证每阁一段时间运行一次, 不知道GameInfo中是否提供了这个入口, 如果使用脚本提供的Timer是否可靠, 不知道楼上这位兄台可否给点建议,或者有什么比较好的意见可以分享下? |
|