/*socket.io是一个基于 node.js 的项目,其主要作用是将WebScoket 协议应用到所有的浏览器。该模块主要应用于实时的长连接
多请求的项目中,例如在线联网游戏中、实时聊天、实施股票查看、二维码扫描登录等。
安装配置和 npm 一样:
npm intall scoket.io
安装成功后,来学习如何使用 scoket.io 来创建项目,scoket 协议首先要了解其存在的服务器端和客户端,因此要实现一个scoket
服务时,根据 scoket 的服务器端和客户端API要分别实现其逻辑。服务器端启动进程等待客户端的链接,那么接下来来创建
一个服务器端Node.js 脚本 index_servet.js*/
var io = require('socket.io').listen(8080);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
/*
var io = require('scoket.io').listen(80) :设置 socket 监听端口为8080端口
io.scoket.on('connection',function(){}):调用 scoket API 接口,当客户端 connection 时,执行回调函数function
scoket.emit('news',{hello:'world'}):连接成功后返回一个 new 消息,消息内容为 json 对象{hello:'world'}
scoket.on('my other even',function(data){}):当客户端发送 my other event 消息时,服务器哦接收该消息,
成功获取该消息后执行回调函数 function(data){}
scoket.emit() 为 scoket 发送消息的函数,第一个参数为发送消息的key值,第二个参数为发送消息的内容,也就是发送的数据
scoket.on 为 scoket 接受消息函数,同理其第一个参数为接收消息的key值,第二个参数为回调函数,其中回调函数携带的
参数为接受消息所发出的数据
接下来看 web 欠点如何通过 JavaScript 来链接 scoket 服务器。新建 index_client.html 文件,代码如下:
<script src="socket.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
<script src="socket.js"></script>:加载 scoket.js 本地 JavaScript 文件
var socket = io.connect('http://localhost:8080'):使用 scoket 链接本地的 scoket 服务器
socket.on('news', function (data) {}:接受服务器发送的 news 消息后,当服务器推送new 消息后执行回调函数,
回调函数的 date 参数为 news 消息发送的数据,如上面的 json 对象 { hello: 'world' }
socket.emit('my other event', { my: 'data' }):客户端接收 news 消息成功后,发送 my other evebt 消息到
服务器端,其发送消息的内容为 json 对象
*/
相关文章
- 10-10Python中的yield生成器的简单介绍
- 10-10Spark中的checkpoint的简单介绍
- 10-10基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。
- 10-10Spring Boot入门五:Get请求和Post请求,简单演示;(【第一次介绍了postman的简单使用】,【Spring Boot中接收post请求时,第一次遇到了@RequestBody注解】)
- 10-10vue中简单介绍如何使用Mock.js
- 10-10HashMap中存储原理简单介绍
- 10-10Python中的lambda的简单介绍
- 10-10PS中怎样插入图片?超简单的插入图片方法介绍
- 10-10python中int的功能简单介绍
- 10-10简单的介绍下WPF中的MVVM框架