博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SmartFoxServer简介(一)
阅读量:6676 次
发布时间:2019-06-25

本文共 1772 字,大约阅读时间需要 5 分钟。

hot3.png

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

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

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

xxxExt
JAVA
com.xxx.xxx
NONE

        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

你可能感兴趣的文章
因第三次月考而引起的
查看>>
数据库系统简介
查看>>
div高度自适应
查看>>
JS 实现百度搜索功能
查看>>
常用数据结构及复杂度
查看>>
poj3278 Catch That Cow
查看>>
IDEA调试方法总结及各种Step的区别
查看>>
简易图片轮播效果
查看>>
Spring Boot 数据库连接池 Druid
查看>>
Android学习笔记(十)——ListView的使用(上)
查看>>
NodeList对象的特点
查看>>
【转载】【原创】生命中,要有自己的一方晴天
查看>>
JQuery操作CheckBox和Radio
查看>>
快速求幂
查看>>
gulp初学
查看>>
JS设置localStorage有效期
查看>>
Ajax常用写法
查看>>
测试用例设计-WEB通用测试用例
查看>>
53、listview、expandableListview如何选中时保持高亮?
查看>>
js中将数字和字符串相互转换的方法(转自脚本之家www.jb51.net)
查看>>