WebSocket
来源:互联网 发布:蝙蝠侠 超人 知乎 编辑:程序博客网 时间:2024/05/20 07:49
websocket
- 简介
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端 - 原理
在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
在此WebSocket 协议中,为我们实现即时服务带来了两大好处:- Header
互相沟通的Header是很小的-大概只有 2 Bytes - Server Push
服务器的推送,服务器不再被动的接收到浏览器的请求之后才返回数据,而是在有新数据时就主动推送给浏览器。
- Header
- 浏览器端实现
// 创建一个Socket实例var socket = new WebSocket('ws://localhost:8080'); // 打开Socket socket.onopen = function(event) { // 发送一个初始化消息 socket.send('I am the client and I\'m listening!'); // 监听消息 socket.onmessage = function(event) { console.log('Client received a message',event); }; // 监听Socket的关闭 socket.onclose = function(event) { console.log('Client notified socket has closed',event); }; // 关闭Socket.... //socket.close() };
socket.io
简介
Socket.IO是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用。它会自动根据浏览器从WebSocket、AJAX长轮询、Iframe流等等各种方式中选择最佳的方式来实现网络实时应用。使用
1.客户端<script src="/socket.io/socket.io.js"></script> <script>var socket=new io.connect('ws://localhost:8001');socket.on('transfer',function(data){ console.log(data);});socket.emit('a',{a:'hello',b:'world'});</script>2.服务器端var app=express();var http=require('http').Server(app);var io=require('socket.io')(http);var data=[2.3,5,6,7];io.listen(8001);io.on('connection',function(socket){ socket.emit('transfer',data);});
阅读全文
0 0
- WebSocket
- WebSocket
- WebSocket
- websocket
- WebSocket
- WebSocket
- WebSocket
- WebSocket
- websocket
- websocket
- WebSocket
- WebSocket
- WebSocket
- WebSocket
- websocket
- websocket
- websocket
- websocket
- 机器学习算法(三)支持向量机
- ARP与ARP脚本
- 山东省第八届省赛 Return of the Nim(博弈)
- 实验吧ctf
- [bzoj1647][Usaco2007 Open]Fliptile 翻格子游戏
- WebSocket
- git 版本回退
- Java学习之路第十一天
- JAVA反射机制的一些用法
- startactivityforresult的使用,和singleTask不能使用的问题
- bzoj1497: [NOI2006]最大获利
- G
- 进程间通信之消息队列和信号量
- Javascript类型判断