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 加入和发射到房间
InitCrypto 失败 - 无法在 Unity Smartfox 客户端中启用 SSL