介绍发展基础
在本节中,我们将引导您了解使用SmartFoxServer 2X的多人开发的基本概念。从一般的角度看,无论多人游戏,MMORPG,MMORTS,虚拟世界等多种游戏类型,多人游戏和应用都非常相似。
实质上,它们都包括通过持久连接(使用TCP协议)连接到负责维护游戏状态并使玩家彼此同步的中央服务器的客户端。
在SmartFoxServer下,我们使用Zone的概念来表示专用于特定应用程序的服务器的一部分,允许开发人员运行多个不同的游戏和应用程序,而不会互相干扰。
您可以将Zones视为HTTP服务器下的不同“虚拟主机”,您可以在适当的隔离的同时运行多个Web应用程序。
»三个基本步骤
SFS2X客户端通常将遵循几个简单的步骤来开始与服务器的通信:
尝试与服务器的连接
登录一个可用的区域
发送和接收请求到服务器的“系统控制器”或可用的扩展和处理服务器事件
在SmartFoxServer文档的这一部分中,我们将详细分析每个阶段,为每个步骤提供代码示例,建议和说明高级选项。
»服务器控制器
每当客户端向服务器发送请求时,他正在与服务器控制器通信,服务器控制器是负责处理请求和发送用户更新的服务器。在SFS2X下,我们有以下两个主控制器。
系统控制器:这是主要的,负责处理客户端API中记录的所有常见客户端请求,如登录,连接,创建房间和所有其他调用。换句话说,该控制器将所有公共SFS2X API公开给所连接的用户。这包括高级功能,如Game API和Buddy List API。感谢SFS2X提供的特权经理,您还可以限制特定类型的用户(访客,常规,主持人等)访问某些控制器的功能。
扩展控制器:该控制器专门用于处理定向到服务器扩展的客户端请求。换句话说,这项服务会将自定义请求路由到您的服务器端代码,并以事件的形式返回响应。该控制器还能够通过UDP协议进行通信,从而实现对实时游戏的更新更新(有关更多信息,请参阅使用UDP协议文档)。
SFS2X客户端API负责将客户端请求引导到幕后的相应控制器,因此开发者没有必要采取特定的操作。
翻译自http://docs2x.smartfoxserver.com/DevelopmentBasics/introduction