问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

socket.io官方文档中文版

发布网友 发布时间:2024-10-07 18:12

我来回答

1个回答

热心网友 时间:2024-11-09 07:31

原文链接:socket.io官方文档中文版 / 探索技术、艺术与国学之美 - 陈帅华


在研究实时通信的过程中,我深入阅读了socket.io的官方文档。阅读后发现,其核心功能主要是通过几个常用的方法实现的,关键在于在实际应用场景中如何灵活运用。陈帅华在阅读过程中将官方文档翻译成中文,以帮助初学者入门。然而,建议大家还是亲自访问socket.io官网进行学习。


官方文档持续更新,以下是一些核心功能的概述:


一、概述
1、如何使用

安装使用Node http服务器搭建



服务器端(app.js)
客户端(index.html)

使用Express 3/4



服务器端(app.js)
客户端(index.html)

使用Express 2.X



服务器端(app.js)
客户端(index.html)

2、发送和接收事件推送

Socket.io允许触发或响应自定义事件,除了connect,message,disconnect这些事件,你可以触发任何自定义事件名称。


3、发送不确定能否准确送达的消息

有时,消息在传输过程中可能丢失。在这种情况下,可以发送易挥发消息。


4、数据确认机制

客户端可能需要确认事件是否在服务器端正确执行。实现这一功能,只需在send或emit方法中使用回调函数。


5、广播消息给除当前客户端之外的所有在线客户端

通过添加broadcast标志给emit和send方法,可以实现广播消息给所有客户端。


6、学习更多

深入学习可以访问页面,了解Engine.IO,它是Socket.IO的基础。


二、服务器端API
Server

通过require('socket.io')暴露。


新实例化:new Server(httpServer[, options])



参数说明:使用new关键字或不使用new均可
配置项:使用相同的配置项,详情查看engine.io的配置项参考
其他配置项:影响响应延迟,默认使用长轮询,如果transports选项为['websocket'],则直接使用WebSocket方式建立连接

实例化:new Server(port[, options])或new Server(options)


绑定服务:server.socketsserver.serverClient([value])server.path([value])server.adapter([value])server.origins([value])server.origins(fn)


依附服务:server.attach(httpServer[, options])server.listen(httpServer[, options])server.bind(engine)server.onconnections(socket)server.of(nsp)server.close([callback])


Namespace

代表作用域的命名空间,通过路径名唯一确定(如/chat)。



命名空间标识符属性:namespace.name
连接客户端的哈希码:namespace.connected
适配器:namespace.adapter
设置修改器:namespace.to(room), namespace.in(room)
触发事件:namespace.emit(eventName[, ...args])
获取客户端:namespace.client(callback)
注册中间件:namespace.use(fn)

Event: 'connect'和Event: 'connection'

当客户端连接时触发事件。


Flag: 'Volatile'和Flag: 'local'

设置修改器:Flag: 'Volatile'允许消息在客户端未做好接收准备时丢失;Flag: 'local'仅广播给当前节点。


Socket

与客户端交互的基石,属于确定命名空间,使用下行客户端消息。



标识:socket.id
房间:socket.rooms
客户端引用:socket.client
连接引用:socket.conn
握手细节:socket.handshake
注册中间件:socket.use(fn)
发送事件:socket.send([...args][, ack])
触发事件:socket.emit(eventName[, ...args][, ack])
事件处理器:socket.on(eventName, callback)
广播和离开房间:socket.to(room), socket.leave(room)
压缩设置:socket.compress(value)
关闭连接:socket.disconnect(close)

Client

客户端类代表传输连接,一个客户端与不同命名空间的多路复用socket关联。



连接引用:client.conn
请求引用:client.request

IO

引入socket.io的JS库,使用标准化库时暴露为io命名空间;使用Node编译时,使用require('socket.io-client')。



协议版本号:io.protocol
创建实例:io(url[, options])
初始化示例:使用多路复用
自定义path:socket连接到admin命名空间,使用自定义路径mypath
请求地址:http://localhost/users
携带查询参数:携带查询选项,更新内容
携带额外请求头:extraHeaders

Manager

管理器用于初始化socket实例,配置重连和连接选项。



初始化:new Manager(url[, options])
重连设置:manager.reconnection([value]), manager.reconnectionAttempts([value])
连接尝试:manager.open([callback]), manager.connect([callback])
创建socket:manager.socket(nsp, options)

Socket事件

连接成功、错误、断开、重连、ping和pong事件。


Client事件

连接成功、错误、断开、重连、ping和pong事件。


总结,socket.io提供了丰富的API来实现实时通信,包括事件推送、消息确认、广播和重连机制等核心功能。通过灵活使用这些API,开发者可以构建出复杂且高效的实时应用。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
老式电脑u盘启动bios老电脑如何设置U盘启动 老式台式机装了U启动后怎么设U盘启动 老电脑u盘启动不了电脑无法从u盘启动 u盘启动老电脑bios设置u盘启动怎么办_老机子bios设置u盘启动 老电脑怎么u盘启动老台式电脑开机怎么启动u盘装系统 为什么俄罗斯要击落mh17? 吃鸡模式《生死狙击》手游小鸡快跑模式详解介绍_吃鸡模式《生死狙击》手... 吃鸡自己和队友都变成小鸡能看到的吗 吃鸡死后变小鸡队友能看见吗 驾照一次性扣6分可以办理校车从业资格证吗? 我是长春考生,已经报了争流考研辅导班,但是还是想请教下考过研的哥 ... 魔方比赛单手在还原过程中可以放下来吗 想直接在网上给孩子买份重疾医疗保险,有必要提供孩子的体检报告吗_百度... 单手拧魔方是有要求左手宁还是右手宁 济南君贵发物流有限公司怎么样? ...就随时在改变吗②国际日期变更线转吗,假如若此时北京时 长春最好的考研学校是哪所? 有没有和我一样的情况?我用移动的手机号,两年多了!7月开始给我送一个... 日界线的问题 180度经线也叫什么? 新的一天指的是哪一个范围啊?是零点向西推到日界线吗?有图最好。 关于日界线有两条 一条是0° 一条是180°我需要详细讲解 (注意:一定要... 2013长春考研辅导班哪个比较好啊,是导航还是海文呢(吉大的学生)_百度... 谁知道《明朝那些事儿》中有几段是歌颂中华节气的在哪一部里……? <明朝那些事儿>中关于杨慎谪戍云南后心态之豁达的描写可有历史依据... 明朝那些事儿后记里面的话什么意思? 哪些地方只能小高层 雅典宪章居住是城市的第一个活动 林海雪原好词好句有哪些 为什么找不到林海这篇课文的好词佳句 拧魔方的正确手法? 被3b学校录取广东亚视演艺职业学院。但是家也不是很富裕但是也可以读的... 广东亚视演艺职业学院是3A还是3B的 草书楷书哪个先有 魔方·CFOP单拧十字交叉公式怎么怎么做? 魔方吧精选 :纯新手向魔方手法及练习方法 美甲后想遮住一段时间求方法 广东亚视演艺职业学院还是广州工商职业技术学院好? 广州3b学院有哪些 socket.io的详细工作流程是怎样的? 美甲渐变接口用什么来遮住 现在高三没报艺术科可以考广东亚视演艺职业学院吗? 航模用涵道风扇发动机有具体型号吗?若有,都有哪些常用型号?谢谢 深圳枫叶城市酒店周边交通及服务设施 请问有人知道从增城新塘到深圳枫叶城市酒店怎么坐车 想知道: 深圳市 从深圳东站到枫叶城市酒店怎么坐公交 深圳有哪些酒吧有比较好的歌手在演唱的 七彩虹GTX1050,索泰GTX1050,映众GTX1050,昂达GTX1050TI这几个那个... 影驰gtx 1050ti gamer 与 技嘉gtx 1050ti g1 哪个好 在电影”小姐好白”中,他们走时候catwalk时,放的那个音乐叫什么...
  • 焦点

最新推荐

猜你喜欢

热门推荐