Socket.IO – 基于 WebSocket 构建跨浏览器的实时应用
Socket.IO 是一个功能非常强大的框架,能够帮助你构建基于 WebSocket 的跨浏览器的实时应用。支持主流浏览器,多种平台,多种传输模式,还可以集合 Exppress 框架构建各种功能复杂的实时应用。
您可能感兴趣的相关文章
使用示例
1、使用 Node HTTP 服务器
服务端示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | var app = require( 'http' ).createServer(handler) , io = require( 'socket.io' ).listen(app) , fs = require( 'fs' ) app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/index.html' , function (err, data) { if (err) { res.writeHead(500); return res.end( 'Error loading index.html' ); } res.writeHead(200); res.end(data); }); } io.sockets.on( 'connection' , function (socket) { socket.emit( 'news' , { hello: 'world' }); socket.on( 'my other event' , function (data) { console.log(data); }); }); |
客户端示例代码:
1 2 3 4 5 6 7 8 | <script src= "/socket.io/socket.io.js" ></script> <script> var socket = io.connect( 'http://localhost' ); socket.on( 'news' , function (data) { console.log(data); socket.emit( 'my other event' , { my: 'data' }); }); </script> |
2、使用 Express 3 框架
服务端示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var app = require( 'express' )() , server = require( 'http' ).createServer(app) , io = require( 'socket.io' ).listen(server); server.listen(80); app.get( '/' , function (req, res) { res.sendfile(__dirname + '/index.html' ); }); io.sockets.on( 'connection' , function (socket) { socket.emit( 'news' , { hello: 'world' }); socket.on( 'my other event' , function (data) { console.log(data); }); }); |
客户端示例代码:
1 2 3 4 5 6 7 8 | <script src= "/socket.io/socket.io.js" ></script> <script> var socket = io.connect( 'http://localhost' ); socket.on( 'news' , function (data) { console.log(data); socket.emit( 'my other event' , { my: 'data' }); }); </script> |
支持的传输
为了给各个不同的浏览器提供实时连接,Socket.IO 选择在运行时会自动最有能力的运输模式,不影响 API 的使用。
- WebSocket
- Adobe Flash Socket
- AJAX 长轮询
- AJAX 多重流
- iframe
- JSONP 轮询
支持的浏览器
桌面端
- Internet Explorer 5.5+
- Safari 3+
- Google Chrome 4+
- Firefox 3+
- Opera 10.61+
移动端
- iPhone Safari
- iPad Safari
- Android WebKit
- WebOs WebKit
您可能感兴趣的相关文章
作者:山边小溪
主站:yyyweb.com 记住啦:)
欢迎任何形式的转载,但请务必注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2012-08-31 让人爱不释手的13套精美 Web 应用程序图标素材
2011-08-31 Web前端开发人员和设计师必读文章推荐【系列三】
2011-08-31 21幅非常有创意的倒影摄影作品欣赏
2008-08-31 Javasccript学习进阶——科里化(Currying)
2008-08-31 Javascript学习进阶——闭包