Socket.io创建连接的参数
Socket.io创建连接的参数
我不想花太多⼝⾆向你推销Socket.io,因为我根本就不够资格,也因为根本就不需要,Socket.io⽬前在Websocket界中的霸主地位就好⽐当年的PHP~
写这篇的⽬的,只要是来吐槽Socket.io的的!太TM简单的,简直可以⽤简陋来形容!(难道是我道⾏太浅?!)
顺便说⼀句,从上可以了解到作者马上就要发布1.0版本了!期望它的⼿册会更加丰满⼀些吧!
简单的从官⽹上了解完它提供的⼀些模型后,做个简单的DEMO根本不在话下,对,就是这么简单!但⽤在项⽬⾥的话,就需要对它进⾏更彻底的把控,我们主要关注在初始化连接时的可选参数细节!
先从namespaces开始吧,我更喜欢称之为“频道”。代码⽐较直观:
websocket和socketvar chat = io.connect('localhost/chat'); ('connect', function () { // chat socket connected }); var news
主需要在第⼀个参数中以url的形式填写即可~~这样我们就可以很好的为客户端管理多个socket连接了,多贴⼼啊!我都感动哭了!
下⾯是重头戏:
这是创建连接的⽅法,主要看⼀下可选的,从源码中我们可以看到默认设置有哪些:
... this.options = { port: 80 , secure: false , document: 'document' in global ? document : false , res
主要介绍⼏个我能看懂的,也⽐较常⽤的:
connect timeout
默认值:5000
作⽤:设置创建连接所接收的超时时间,单位是毫秒。
try multiple transports
默认值:true
作⽤:当连接超时后是否允许Socket.io以其他连接⽅式尝试连接
reconnect
默认值:true
作⽤:当连接终⽌后,是否允许Socket.io⾃动进⾏重连
reconnection delay
默认值:500
作⽤:为Socket.io的重连设置⼀个时间间隔,内部会在多次重连尝试时采⽤该值的指数值间隔,⽤来避免性能损耗(500 > 1000 > 2000 > 4000 > 8000)
max reconnection attempts
默认值:10
作⽤:设置⼀个重连的最⼤尝试次数,超过这个值后Socket.io会使⽤所有允许的其他连接⽅式尝试重连,直到最终失败。
transports
默认值:['websocket', 'flashsocket', 'htmlfile', 'xhr-multipart', 'xhr-polling', 'jsonp-polling']
作⽤:默认⽀持的链接⽅式(顺序敏感)
到⽬前为⽌,我们已经可以控制客户端创建连接的细节,如何配置取决于应⽤本⾝,⽐⽅说明确关闭Socket.io⾃⼰的重试策略,转⽽绑定相关的失败事件(error,disconnect),根据业务需求进⾏⼿动重试等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论