基于Socket.io实现的服务器系统

Constructor

new ()

Variables

_socket:Socket

Methods

@:value({ fail : null, success : null, toPosNumList : null })broadcastInRoom (msg:Dynamic, ?toPosNumList:Array<Int>, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

在房间内进行广播

Parameters:

msg

广播的消息

toPosNumList

给座位号为哪些的玩家发送信息,不填代表给房间所有人发送

success

成功回调

fail

失败回调

@:value({ fail : null, success : null })changeSeat (pos:Int, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

切换房间座位

Parameters:

pos
success

成功回调

fail

失败回调

@:value({ passworld : null, fail : null, success : null, gameTick : 0, needGameSeedCount : 0, memberExtInfo : null, roomExtInfo : null, gameLastTime : 1200, startPercent : 0 })createRoom (maxMemberNum:Int, startPercent:Int = 0, gameLastTime:Int = 1200, ?roomExtInfo:String, ?memberExtInfo:String, needGameSeedCount:Int = 0, gameTick:Int = 0, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void, ?passworld:String):Void

创建房间 @return

Parameters:

maxMemberNum

房间最大人数,支持2 - 10。

startPercent

需要满足百分比的玩家都发送了开始指令才能启动游戏。有效范围 0~100,0 表示只要有一个人调用开始就启动,100 表示要求所有人都开始才能启动。

gameLastTime

游戏对局时长,到达指定时长时游戏会结束,最大值

roomExtInfo

房间扩展信息,最多32个字节

memberExtInfo

个人扩展信息,最多32个字节

gameTick

游戏帧同步时间刻,默认为0(不需要帧同步)传入的代表多少帧下发一次帧同步数据

needGameSeed

是否需要创建房间随机种子,默认为0不创建,1为创建

success

成功回调

fail

失败回调

@:value({ fail : null, success : null })gameOver (?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

游戏结束事件(停止帧事件)

getDelay ():Float

获取与服务器请求的延迟

Returns:

Float

@:value({ fail : null, success : null })getGameHistoryData (roomid:Int, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

获取历史数据

@:value({ fail : null, success : null })getGameHistoryList (page:Int, count:Int, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

获取历史记录列表

getLocalRoomInfo ():Dynamic

获取本地的状态信息

Returns:

Dynamic

@:value({ fail : null, success : null })getLostFrames (start:Int, end:Int, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

获取需要补帧的帧数据

Parameters:

start
end
success
null

fail

@:value({ fail : null, success : null })getRoomList (page:Int, count:Int, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

获取房间列表

Parameters:

page
count
success
null

fail

getSelfUser ():Dynamic

获取当前客户端的用户数据

Returns:

Dynamic

isLogin ():Bool

是否已登录

Returns:

Bool

@:value({ passworld : null, fail : null, success : null, memberExtInfo : null })joinRoom (accessInfo:Dynamic, ?memberExtInfo:String, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void, ?passworld:String):Void

加入房间

Parameters:

accessInfo

房间唯一标示

memberExtInfo

个人扩展信息,最多32个字节

success

成功回调

fail

失败回调

@:value({ fail : null, success : null })kickoutMember (kickoutPos:Int, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

把一名玩家踢出房间(仅房主有权限)

Parameters:

kickoutPos

欲踢除的玩家的座位号

success

成功回调

fail

失败回调

@:value({ fail : null })login (msg:Dynamic, success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

需要处理服务器接口时,需要先login登录完成

Parameters:

msg

{name:昵称,uid:平台OPENID,version:游戏版本号,app:游戏名,einfo:扩展数据}

success
null

fail

logout ():Void

登出服务器,在不需要服务器对战时,则自行登出

@:value({ fail : null, success : null })memberLeaveRoom (accessInfo:Dynamic, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

普通成员退出房间

@:value({ fail : null, success : null })ownerLeaveRoom (accessInfo:Dynamic, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

房主退出房间

Parameters:

accessInfo

房间唯一标示

success
null

fail

@:value({ fail : null })reconnect (success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

重连游戏服务。如果此时连接并未断开或游戏未开始,会直接成功;如果游戏已开始并且连接已断开,会进行重连,并返回此时服务器的最大帧号。

Parameters:

success
null

fail

@:value({ fail : null, success : null })setStats (data2:Dynamic, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

更新该玩家的状态,状态同步

Parameters:

data
success
null

fail

@:value({ fail : null, success : null })startGame (?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

开始帧同步(仅房主有权限)

@:value({ fail : null, success : null })updateReadyStatus (accessInfo:Dynamic, isReady:Bool, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

更新准备状态

Parameters:

accessInfo

房间唯一标示

isReady

是否准备好

success
null

fail

@:value({ fail : null, success : null })uploadFrame (frame:Int, data:String, ?success:Dynamic ‑> Void, ?fail:Int ‑> Void):Void

上传游戏帧

Parameters:

actionList

指令数组

success
null

fail