类似dataservice

我们socket io 和后端交互

我们也可以做成专门的service

我们先引入

为什么不是cdn呢?

因为client就是从我们的server端拿到的socket.io.js这个文件

当然现在我们还拿不到

因为我们server还没装socker.io这个包

一旦装了

client就可以拿到了

我们去server装

我们回到client端(前端)

我们通过socket。io来协作的

这个协作给我前端提供其他用户的光标的位置 输入的操作,同时你自己也需要实时的发送你的光标位置和输入信息

所以,我们做成service,大家都可以调用

去provide注册(只有注册了才能被其他component用@inject使用)

同样socket.io第三方包想使用也要declare

建立连接发送信息 123

接收信息 并打印

socket.io 是双向连接 否则post get请求就能完成来了

我们写个这个为了验证是否工作

我们去验证一下、

使用一下这个service

注入 并调用方法

我们去写一下server端

我们server端的service只有一个是请求mongodb拿数据的

我们加个新的service

第四行 一般传入message都会传入特定的参数来表明你要加入哪个聊天室,这样,handshake接收到参数就知道你要加入哪里。

第五行,io.to()是将收到的信息返回去,socket.id是唯一指定对象的标识,每个人链接socket server的id是不同的,如果不写的话就是广播。

用id就可以唯一指定client端的instance,就可以明确请求信息。l

service写好了

我们就要去server端初始化io了

server打印的log信息中可以看到 我们cilent端发送的message ‘123’

成功

原理就是这样

下面我用这个来实现editor之间的同步

18. socket io的更多相关文章

  1. 18.1利用socket .io 实现 editor间代码的同步

    首先,我们想实现在同一个页面editor 大家同时编辑 同步 所以能 我们需要这个url 作为我们 session id 或者叫聊天室的roomid 或者 反正就是保证他们在同一个list里面 就是 ...

  2. npm install socket.io遇到的问题

    解决方法: 输入 npm install socket.io 前,先执行下面 npm config set proxy "http://yourip:port" 生产的npm-de ...

  3. socket.io稳定性及事件测试

    socket.io测试报告 1.socekt.io能坚持多久 将服务器上的socekt.io代码从早上9:30分开始运行到晚上18点,每100毫秒发送一条数据,数据大概15个字符,同时开启5个连接 结 ...

  4. AndroidAsync :异步Socket,http(client+server),websocket和socket.io的Android类库

    AndroidAsync是一个用于Android应用的异步Socket,http(client+server),websocket和socket.io的类库.基于NIO,没有线程.它使用java.ni ...

  5. Socket.IO学习之基础入门

    原文:http://blog.csdn.net/weichuang_1/article/details/48831957 这里贴出Socket.IO官网 一.Socket.IO的介绍 Socket.I ...

  6. socket.io框架

    socket.io框架 一.问题背景 目前公司在互联网产品上需要程序与前端部分要进行一个实时交互,在进行一定程度上的选型后,决定使用socket.io框架进行一个实践,算是公司的一个新的 尝试,也算是 ...

  7. socket.io入门整理教程

    socket.io入门整理  发布于 5 年前  作者 dtrex  124983 次浏览  最后一次编辑是 1 年前 我自己在用socket.io开发,对官方网站上的文档,进行简单的整理,然后自己写 ...

  8. socket.io入门整理

    我自己在用socket.io开发,对官方网站上的文档,进行简单的整理,然后自己写了一个简单的聊天程序. 最最开始 先安装socket.io: 1 npm install socket.io 利用Nod ...

  9. 使用node.js + socket.io + redis实现基本的聊天室场景

    在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对 ...

随机推荐

  1. 10 Skills Every SharePoint Developer Needs

    10 Skills Every SharePoint Developer Needs(原文) This blog post guides you through the essential skill ...

  2. javascript将list转换成树状结构

    /** * 将list装换成tree * @param {Object} myId 数据主键id * @param {Object} pId 数据关联的父级id * @param {Object} l ...

  3. VS2008自定义快捷键设置

    点[Keyboard..]

  4. cocos源码分析--SpriteBatchNode绘图原理

    SpriteBatchNode继承Node,并实现了TextureProtocol接口,重写了Node的addChild()方法,visit()方法以及draw()方法. addChild()方法限制 ...

  5. Redis Server installation FAQs

    OS: CentOS 7 Minimal (0) open files Q: Increased maximum number of open files to 10032 (it was origi ...

  6. 什么是Apache Flink

    大数据计算引擎的发展 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop.Storm,以及后来的 Spark,他们都有着各自专注的应用场景.Spark 掀开了内存计算的先河, ...

  7. angularjs探秘<四> 双向数据绑定

    双向数据绑定是angularjs的一大特性,这个特性在实际开发中省了不少事儿.之前第二篇提过数据绑定,这一篇从实际开发的案例中具体看下双向数据绑定的便捷. 首先看一个场景: 在 注册/登录 中经常遇到 ...

  8. docekr-image的区别和container;docker run和start,create

    copy by: https://www.simapple.com/326.html 容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那 ...

  9. [Unity插件]Lua行为树(八):行为节点扩展

    先看一下之前的行为节点是怎么设计的: BTAction.lua BTAction = BTTask:New(); local this = BTAction; this.taskType = BTTa ...

  10. 浮动ip原理及简单实现

    原理:https://blog.csdn.net/readiay/article/details/53538085 简单实现:https://www.cnblogs.com/victorwu/p/70 ...