Socket.IO-Client-Swift使用问题记录-01

1.连接socket,路径错误,poll message报404,解决方案,初始化SocketManager的时候,在config中自定义路径。

config: [.log(true), .connectParams(["token": sessionID,"uid": uid]), .path("/websocket/")]

2.在连接socket之前,URL上要拼接token和uid验证用户信息。而token和uid,需要在http用户登录后,分别http请求sessionID和userinfo。

使用DispatchGroup的notify,并结合DispatchGroup的enter和leave,能很好地解决这种异步调用组合的问题。

//sessionID和userID两个请求都成功后再回调callBack: ResultHandler

            varuserInfoError:SocketErrorType= .success

            letgroup =DispatchGroup()

            letuserInfoRequest =DispatchQueue(label:"userInfo")

            group.enter()

            userInfoRequest.async(group: group, execute: {

                self.requestUserInfo(callBack: { (error)in

                    userInfoError = error

                    group.leave()

                })

            })

            //SessionID的请求

            varsessionIDError:SocketErrorType= .success

            letsessionIDRequest =DispatchQueue(label:"sessionID")

            group.enter()

            sessionIDRequest.async(group: group, execute: {

                self.getSessionID(callBack: { (error)in

                    sessionIDError = error

                    group.leave()

                })

            })

            //都请求并回调完成

            group.notify(queue:DispatchQueue.main) {

                switch(userInfoError, sessionIDError) {

                case(.success, .success):

                    callBack?(.success)

                case(.success,_):

                    callBack?(sessionIDError)

                case(_, .success):

                    callBack?(userInfoError)

                default:

                    callBack?(userInfoError)//传userInfo的error

                }

            }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、树与数组转换对应的目录如下图所示: 1、树与数组转换 /* * @Author: zhr */ import...
    08f1b6c52d2a阅读 26,574评论 8 3
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,453评论 0 10
  • 剑江河上百子桥,孤亭无恙水涛涛; 文王百男成社稷,唐公五载遗不肖。 雄踞桥城龙头位,功半洛阳缵绪高; 耸翠半杯洞庭...
    楠棉阅读 312评论 0 0
  • 夜深人静就特别怀旧,就想啰嗦啰嗦...... 人生,人的一生,人生活的过程,点点滴嘀。当你每天忙忙碌碌着生活时...
    怀念你的那个夜晚阅读 262评论 0 1
  • 图文/巴山雨 转载请联系作者授权 喜欢就来关注雨姐姐的专题我真的来画画,一起禅绕吧。 工具:纸砖、针管笔、铅笔 今...
    巴山雨阅读 2,538评论 3 4