热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

socket.io官方客户端连接问题?-socket.ioofficialclientconnectionissues?

IamworkingwithiOS8andSwift.Iwanttousetheofficialsocket.ioclientbutforsomereasoni

I am working with iOS 8 and Swift. I want to use the official socket.io client but for some reason it does not attempt to connect. I followed the example given here: https://github.com/socketio/socket.io-client-swift

我正在使用iOS 8和Swift。我想使用官方socket.io客户端,但由于某种原因它不会尝试连接。我按照这里给出的例子:https://github.com/socketio/socket.io-client-swift

let socket = SocketIOClient(socketURL: "\(CurrentConfiguration.serverURL)") 

socket.recOnnects= true
socket.recOnnectWait= 10
socket.nsp = "/messagelist"

// Connect
socket.connect()

socket.onAny {println("got event: \($0.event) with items \($0.items)")} 
socket.on("connect") {data, ack in
    println("socket connected")
}

socket.on("error") {data in
    println("socket ERROR")
    println(data)
}

Can anyone confirm this? Is this a version problem or maybe related to Swift 1.2?

谁能证实这一点?这是版本问题还是与Swift 1.2有关?

On the server side i cant even recognize a connection attempt. The variable serverURL is the same as i had before and

在服务器端,我甚至无法识别连接尝试。变量serverURL与之前的变量相同

2 个解决方案

#1


3  

Make sure to call socket.connect() after you call your handlers. A good practice would be to create a function with all of your required handlers, and call it in the viewDidLoad method. Aftewards you would then call the connect method.

确保在调用处理程序后调用socket.connect()。一个好的做法是使用所有必需的处理程序创建一个函数,并在viewDidLoad方法中调用它。然后,您将调用connect方法。

Example:

例:

let socket = SocketIOClient(socketURL: "URL") 

override func viewDidLoad() {
   super.viewDidLoad()

   // socket.io
   addHandlers()
   socket.connect()
}

func addHandlers() {

   self.socket.onAny {println("Got event: \($0.event), with items: \($0.items)")}

   self.socket.on("processReq") {[weak self] data, ack in
   // handler code here
   }

}

#2


1  

You should use SocketIOClient instance as class property.

您应该使用SocketIOClient实例作为类属性。

class aClass {
    let socket = SocketIOClient(socketURL: url)

    func someFunction() {
        socket.on("connect") {data, ack in
            println("socket connected")
        }
    }
}

I think it's because there's lots of closures used in it.

我认为这是因为它中使用了大量的闭包。


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 本文介绍了一个视频转换软件MyVideoConverter,该软件支持将mpg转换成swf格式,支持多种格式的转换,转换速度快,还能转换成3GP格式,同时具有音频分离提取功能。欢迎使用MyVideoConverter进行视频转换和音频提取。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • imnewtotheswiftandxcodeworld,soimhavingaproblemtryingtointegrateapackagetomypro ... [详细]
  • java.lang.Class.getDeclaredMethod()方法java.lang.Class.getDeclaredMethod()方法用法实例教程-方法返回一个Met ... [详细]
  • 这么多流媒体服务器?你怎么技术选型?
    在上一篇文章里我们介绍了我们介绍了MCU和SFU的优缺点,webRTC通信方案SFU和MCU的区别?下面就来探讨下常见的SFU开源解决方案,当然,你也可以自己实现SFU流媒体服务器 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • node.jsrequire和ES6导入导出的区别原 ... [详细]
author-avatar
非策不劃小子白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有