/*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介绍的更多相关文章

  1. Node.js简单介绍并实现一个简单的Web MVC框架

    编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...

  2. 简单剖析Node中的事件监听机制(一)

    使用js的class类简单的实现一个事件监听机制,不同于浏览器中的时间绑定与监听,类似于node中的时间监听,并且会在接下来的文章中去根据自己的理解去写一下Event模块中的原理. Node.js使用 ...

  3. Node中的promise简说及入门

    Node的特色之一就是异步回调,可是回调过多,就会形成著名的回调金字塔. 直接上例子,我要读取1.txt里的内容,然后在这个内容上加上'test'并重新写入文件,如下代码所示: var fs = re ...

  4. java中ThreadPool的介绍和使用

    文章目录 Thread Pool简介 Executors, Executor 和 ExecutorService ThreadPoolExecutor ScheduledThreadPoolExecu ...

  5. node中的cookie

    为什么需要cookie 我们知道http是无状态的协议,无状态是什么意思呢?我来举一个小例子来说明:比如小明在网上购物,他浏览了多个页面,购买了一些物品,这些请求在多次连接中完成,如果不借助额外的手段 ...

  6. MongoDB 在Node中的应用

    转: MongoDB 在Node中的应用 文章目录 一 .什么是 MongoDB? 二.小Demo 三.Demo 增删改查 3.1 新增 3.2 查询 3.2.1 查询所有 [{},{}] 找不到返回 ...

  7. node中的Stream-Readable和Writeable解读

    在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...

  8. 深入理解jQuery、Angular、node中的Promise

    最初遇到Promise是在jQuery中,在jQuery1.5版本中引入了Deferred Object,这个异步队列模块用于实现异步任务和回调函数的解耦.为ajax模块.队列模块.ready事件提供 ...

  9. AutoMapper之ABP项目中的使用介绍

    最近在研究ABP项目,昨天写了Castle Windsor常用介绍以及其在ABP项目的应用介绍 欢迎各位拍砖,有关ABP的介绍请看阳光铭睿 博客 AutoMapper只要用来数据转换,在园里已经有很多 ...

随机推荐

  1. mysqldump命令的常用组合

    只导表结构完整语句: mysqldump -h192.168.1.174  --port=3306 -uroot -p  --routines --events --no-data  --no-cre ...

  2. Build 2016概览

    很快Microsoft Build 2016马上就要开始,在直播放出来之前,微软已经提前把本次大会期间的所有课程列表放了出来,你可以在这里看到: https://channel9.msdn.com/E ...

  3. LeetCode - 44. Wildcard Matching

    44. Wildcard Matching Problem's Link --------------------------------------------------------------- ...

  4. 【WP8】扩展CM的WindowManager

    14-09-09更新:修复AppBar冲突bug 关于WindowManager,一直都很想写一篇博客分享一下,一直在忙别的,今天抽空把这个分享一下 在弹窗在移动开发是一个很常见的交互,很多时候我们都 ...

  5. DataSet与DataTable对象

    DataSet与DataTable对象 摘自:http://www.cnblogs.com/fttbfttb/articles/1509662.html DataSet对象 DataSet是ADO.N ...

  6. 最小生成树Prim算法(邻接矩阵和邻接表)

    最小生成树,普利姆算法. 简述算法: 先初始化一棵只有一个顶点的树,以这一顶点开始,找到它的最小权值,将这条边上的令一个顶点添加到树中 再从这棵树中的所有顶点中找到一个最小权值(而且权值的另一顶点不属 ...

  7. FL2440驱动添加(5)ADC驱动学习笔记

    由图可知,模拟ADC分为两部分功能,一部分是触屏功能,另一部分就是普通ADC功能.分别可以产生INT_TC和INT_ADC 两个中断.该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0. ...

  8. javaweb学习之Servlet开发(二)

    javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个< ...

  9. RabbitMQ与AMQP协议详解

    1. 消息队列的历史 了解一件事情的来龙去脉,将不会对它感到神秘.让我们来看看消息队列(Message Queue)这项技术的发展历史. Message Queue的需求由来已久,80年代最早在金融交 ...

  10. Convert string to binary and binary to string in C#

    String to binary method: public static string StringToBinary(string data) { StringBuilder sb = new S ...