Smartfox iOS - 无法加入房间

Posted

技术标签:

【中文标题】Smartfox iOS - 无法加入房间【英文标题】:Smartfox iOS - Cannot join room 【发布时间】:2015-11-08 15:06:17 【问题描述】:

这是我的房间设置

let roomSettings = RoomSettings(name: "room \(rooms.count + 1)")
roomSettings.maxUsers = 10
smartFox.send(CreateRoomRequest(roomSettings: roomSettings, autoJoin: false, roomToLeave: nil))

加入房间请求

func joinRoom(room : Room, callback : (Result -> ())?)

    pendingCallbacks[TaskType.JoinRoom] = callback
    smartFox.send(JoinRoomRequest(id: room.id()))

房间创建后,点击加入,但出现奇怪的异常,我真的不知道会发生什么

21:07:18,545 ERROR [SFSWorker:Sys:4] v290.SystemReqController     - Cannot find a controller command for request ID: 3
21:07:18,546 WARN  [SFSWorker:Sys:4] v290.SystemReqController     - java.lang.NullPointerException
java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1124)
com.smartfoxserver.v2.controllers.v290.SystemReqController.processRequest(SystemReqController.java:146)
com.smartfoxserver.v2.controllers.v290.SystemReqController.enqueueRequest(SystemReqController.java:119)
com.smartfoxserver.bitswarm.io.protocols.AbstractProtocolCodec.dispatchRequestToController(AbstractProtocolCodec.java:39)
com.smartfoxserver.v2.protocol.SFSProtocolCodec.dispatchRequest(SFSProtocolCodec.java:133)
com.smartfoxserver.v2.protocol.SFSProtocolCodec.onPacketRead(SFSProtocolCodec.java:90)
com.smartfoxserver.v2.protocol.binary.BinaryIoHandler$1.run(BinaryIoHandler.java:477)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)

你能告诉我如何解决这个问题吗?

我使用 smartfox 服务器 2.10.0 和 smartfox 客户端 ObjC 1.6.0

【问题讨论】:

【参考方案1】:

可能是客户端 api 有问题,我不能使用房间 ID 加入和离开房间(如果我使用房间 ID,则会发生该异常)。尽管如此,smartfox 文档说这是可能的。

现在通过在 JoinRoomRequest 中将房间 id 更改为房间名称,一切正常

【讨论】:

我是提出问题的人,然后我找到了解决方案。我应该把这个答案留在评论区还是留在这里? OK - 要么删除问题,要么接受您自己的答案。

以上是关于Smartfox iOS - 无法加入房间的主要内容,如果未能解决你的问题,请参考以下文章

在 NestJs 中使用 Socket IO 加入和发射到房间

Photon 2 无法加入随机房间

InitCrypto 失败 - 无法在 Unity Smartfox 客户端中启用 SSL

SmartFox Server Facebook 好友整合 iOS

socket.io 从两个房间加入客户端

一次加入多个房间 Socket.io