node中简单scoket介绍
/*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 对象
*/
node中简单scoket介绍的更多相关文章
- Node.js简单介绍并实现一个简单的Web MVC框架
编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...
- 简单剖析Node中的事件监听机制(一)
使用js的class类简单的实现一个事件监听机制,不同于浏览器中的时间绑定与监听,类似于node中的时间监听,并且会在接下来的文章中去根据自己的理解去写一下Event模块中的原理. Node.js使用 ...
- Node中的promise简说及入门
Node的特色之一就是异步回调,可是回调过多,就会形成著名的回调金字塔. 直接上例子,我要读取1.txt里的内容,然后在这个内容上加上'test'并重新写入文件,如下代码所示: var fs = re ...
- java中ThreadPool的介绍和使用
文章目录 Thread Pool简介 Executors, Executor 和 ExecutorService ThreadPoolExecutor ScheduledThreadPoolExecu ...
- node中的cookie
为什么需要cookie 我们知道http是无状态的协议,无状态是什么意思呢?我来举一个小例子来说明:比如小明在网上购物,他浏览了多个页面,购买了一些物品,这些请求在多次连接中完成,如果不借助额外的手段 ...
- MongoDB 在Node中的应用
转: MongoDB 在Node中的应用 文章目录 一 .什么是 MongoDB? 二.小Demo 三.Demo 增删改查 3.1 新增 3.2 查询 3.2.1 查询所有 [{},{}] 找不到返回 ...
- node中的Stream-Readable和Writeable解读
在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...
- 深入理解jQuery、Angular、node中的Promise
最初遇到Promise是在jQuery中,在jQuery1.5版本中引入了Deferred Object,这个异步队列模块用于实现异步任务和回调函数的解耦.为ajax模块.队列模块.ready事件提供 ...
- AutoMapper之ABP项目中的使用介绍
最近在研究ABP项目,昨天写了Castle Windsor常用介绍以及其在ABP项目的应用介绍 欢迎各位拍砖,有关ABP的介绍请看阳光铭睿 博客 AutoMapper只要用来数据转换,在园里已经有很多 ...
随机推荐
- [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板
<Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...
- EL表达式经典用法
1.EL表达式获取list集合length长度: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix=&quo ...
- 【EF 译文系列】重试执行策略的局限性(EF 版本至少为 6)
原文链接:Limitations with Retrying Execution Strategies (EF6 onwards) 当使用重试执行策略的时候,大体有以下两种局限性: 不支持以流的方式进 ...
- 很震撼的HTML5视频播放器,电影院的感觉
效果很震撼!有电影院的感觉了.呵呵. 看了下代码,依然是 在一个canvas里嵌入<video>然后getImageData 点击这里查看效果 代码: var canvas = docum ...
- 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符
[源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...
- 重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据
[源码下载] 重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 绑定 通过实 ...
- Fluent NHibernate other example
测试用的当前最新版本: sql: --- CREATE TABLE Users ( UserID INT IDENTITY(1,1) PRIMARY KEY, [Name] VARCHAR(50) N ...
- Xml序列化、反序列化帮助类
之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 /// <summary> / ...
- Android studio 快捷添加构造方法以及set与get
第一种方式 快捷键: Alt + lnsert (笔记本可能没有后面的按键) 按快捷键会出现下面这个页面: 第二种方式:点开后是跳出上面那个选择框
- chenxi的js学习笔记
1.本文主体源自:http://www.cnblogs.com/coco1s/p/4029708.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的. 2.js是一门什么样的语言及特点? j ...