SmartFoxServer简介(一)

        最近见很多人问道SmartFoxServer的问题,看大家很抓狂,网上的文章也很零碎。索性抛砖引玉,共同求进步吧。

        先简单介绍下SmartFoxServer吧,一个非常优秀的跨平台socket服务器,内有很多游戏开发用到的数据结构和支撑性功能。多用于游戏、在线聊天室方面的应用。支持多种客户端和服务器语言。分为免费和收费版本。免费版本有100人限制。

        整体上它有3个比较核心的概念。zone、room、user。房间依赖于zone、用户依赖于房间。zone需要在它的配置文件进行生命。扩展配置如下:

<extension>
    <name>xxxExt</name>
    <type>JAVA</type>
    <file>com.xxx.xxx</file>
    <propertiesFile></propertiesFile>
    <reloadMode>NONE</reloadMode>
  </extension>

        xxxExt你起的扩展名称,将来写好的程序要打包到 /extensions/xxxExt 下,sfs会自动加载里边的jar包。type代表你用什么语言进行服务器端扩展,file代表你写的扩展主程序入口,一些重要的事件需要在此声明。我们先看下这个扩展主类都需要些什么吧。


public class xxxExtensionMain extends SFSExtension {

    @Override
    public void init() {
    	initEventHandlers();
    }
 
    public void destroy(){
    	super.destroy();
    }
    
    // 绑定sfs系统事件
    private void initEventHandlers() {
        //注册登录事件
        this.addEventHandler(SFSEventType.USER_LOGIN,      LoginEventHandler.class);
        //注册加入zone事件
        this.addEventHandler(SFSEventType.USER_JOIN_ZONE,  JoinZoneEventHandler.class);
        //注册加入房间事件
        this.addEventHandler(SFSEventType.USER_JOIN_ROOM,  JoinRoomEventHandler.class);
        //注册离开房间事件
        this.addEventHandler(SFSEventType.USER_LEAVE_ROOM, LeaveRoomEventHandler.class);
        //注册断开连接事件
        this.addEventHandler(SFSEventType.USER_DISCONNECT, LeaveRoomEventHandler.class);
    }
    
    // 初始化过滤器
    private void initFilters(){
    	
    }
}

        sfs扩展很强,它允许你进行房间扩展。


public class MyRoomExtension extends SFSExtension {
    @Override
    public void init() {
    }

    @Override
    public void destroy() {
        super.destroy();
    }
 }

         该扩展需要你在CreateRoomSettings createRoomSettings = new CreateRoomSettings();这个类进行设置。createRoomSettings.setExtension(new RoomExtensionSettings("xxxExt", 你的扩展全类名));

        好了,这样至少你的第一个smartfoxserver就可以跑起来了。下次为大家解析登陆流程。

转载于:https://my.oschina.net/idreamblue/blog/121691

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值