Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. WebSocket简介 谈到Web实时推送,就不得不说WebSocket.在WebSocket出现之前,很多网站为了实现实时推送技术,通常采用的方案是轮询(Polling)和Comet技术,Comet又可细分为两种实现方式,一种是长轮询机制,一种称为流技术,这两种方式实际上是对轮询技术的改进,这些方案…
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. WebSocket简介 谈到Web实时推送,就不得不说WebSocket.在WebSocket出现之前,很多网站为了实现实时推送技术,通常采用的方案是轮询(Polling)和Comet技术,Comet又可细分为两种实现方式,一种是长轮询机制,一种称为流技术,这两种方式实际上是对轮询技术的改进,这些方案…
原文:http://www.jianshu.com/p/d9b1273a93fd Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. WebSocket简介 谈到Web实时推送,就不得不说WebSocket.在WebSocket出现之前,很多网站为了实现实时推送技术,通常采用的方案是轮询(Polling)和Comet技术,Comet又可细分为两种实现方…
在做商品拍卖的时候,要求在商品的拍卖页面需要实时的更新当前商品的最高价格.实现的方式有很多,比如: 1.setInterval每隔n秒去异步拉取数据(缺点:更新不够实时) 2. AJAX轮询方式方式推送数据(缺点:服务端需要在死循环中反复查询数据库) 3.websocket推送数据(缺点:仅支持html5标准的浏览器) socket.io的简要介绍 所有客户端都通过socket.io挂在nodejs服务器上(注意: 只是挂着,不需要任何循环,因为它是事件驱动的):需要推送消息了,服务器就与nod…
本文转自:http://www.xiaocai.name/post/cf1f9_7b6507  学习node.js socket.io 使用 用node.js(socket.io)实现数据实时推送 在做商品拍卖的时候,要求在商品的拍卖页面需要实时的更新当前商品的最高价格.实现的方式有很多,比如: 1.setInterval每隔n秒去异步拉取数据(缺点:更新不够实时) 2. AJAX轮询方式方式推送数据(缺点:服务端需要在死循环中反复查询数据库) 3.websocket推送数据(缺点:仅支持htm…
一.游戏描述 说是斗地主游戏,其实是寝室自创的"捉双A",跟很多地方的捉红10.打红A差不多,大概规则是: 1.基础牌型和斗地主一样,但没有大小王,共52张牌,每人13张,这也是为什么题目直接叫斗地主游戏的原因了. 2.手牌有黑桃A和草花A的两个人一伙:若黑桃A和草花A都在一个人手里,那就自己一伙. 3.开牌之后可以选择亮A或者不亮A,亮A之后队友也应亮明身份,互相配合出牌. 4.随机指定最先出牌者. 5.按照手牌出完顺序记分数,分别记4.3.2.1分,最后整队加和,分数高的队伍获胜.…
由于我是在win7的环境下,在这里就以win7系统为例进行讲解了. 首先需要在nodejs官网下载最新版的node.js,下载完毕直接安装即可,安装成功后在cmd命令行中执行node指令,如下结果就说明安装成功 node安装成功后会自动安装npm(包管理器,编译源代码安装需要手动安装),这是Node.js的包管理器,node.js有上万个第三方包,npm就是用于管理这些包. 也许我们习惯于修改完代码之后直接刷新页面,但是node.js并不支持这样的操作,每一次更新代码都需要重新启动项目,对于这个…
这段时间进了一个新的项目组,项目是用Appcan来做一个跨平台的移动运维系统,其中前台和后台之间本来是打算用WebSocket来实现的,但写好了示例后发现android不支持WebSocket,大为受挫.后在园子里看到用socket.io可以代替WebSocket,然而对于我这样JS都没学全的来说有多了一块要啃的砖头了,没奈何还是要硬着头皮上.下面是我用node.js和socket.io做的一个简易的Web聊天室,不过只支持局域网.由于也是刚学这些所以做的不好就请见谅了. 以下是服务端代码ind…
前段时间,公司打算在社区做一个聊天室.决定让我来做.本小白第一次做聊天类功能,当时还想着通过ajax请求来实现.经过经理提示,说试试当前流行的node.js 和socket.io来做.于是就上网学习研究起来. 首先,先看一下node.js.本小白当时还以为是一个什么js的框架或者类库.结果才知道,原来完全不是那么回事. node.js 诞生于2009年,是一种轻量级的web服务.如果查看node.js的官网,真的非常简答,简短的几行代码,就搭建了一个web服务. var http = requi…
最近做安卓遇到一个网络包的bug,服务端使用node做的,通讯用socket.io,但是服务端没法调试,没办法,还是自己搭建一个服务器端吧,索性买了阿里云的ecs测试,之前也配置过node+socket两次都成功运行,这次配置顺便把过程记录下来,以便以后查阅. 1.首先需要安装nodejs安装包,去官网https://nodejs.org/en/下载就好了,我这里用的是node-v0.12.7-x64.msi,安装完成,打开控制台或者打开node自带的控制命令窗口输入node -v会显示v0.1…
所有文章搬运自我的个人主页:sheilasun.me 不得不说,上手AngularJS比我想象得难多了,把官网提供的PhoneCat例子看完,又跑到慕课网把大漠穷秋的AngularJS实战系列看了一遍,对于基本的使用依然有很多说不清道不明的疑惑,于是决定通过做一个在线聊天室帮助理解.DEMO可以戳→chat room,代码可以戳→ChatRoom-AngularJS. 清晰图可以戳 http://sheilasun.sinaapp.com/public/images/chatroom.gif 功…
在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对之前的一篇文章使用socket.io+redis来实现基本的聊天室应用场景的详细补充.关于redis的详细情况, 请参考Redis数据库及其基本操作.对于redis的前提是redis-server一直在运行, 这里就使用默认的localhost:6379. node.js连接redis-server…
本想着从hello word开篇,也确实写了相关学习笔记.各种原因吧,现在又着急写出作品,便作罢. 这里将记录一个node.js+socket.io的实时聊天程序.(当然我也是跟着网上各种教程资料学习,也是第一次写博客,请各位不喜勿喷,小缓本就没自信) 需求分析: 1:允许客户端有相同的用户名. 2:进入聊天室后可以看到当前在线的用户和在线人数. 3:用户上线或退出,客户端进行实时更新. 4:用户发送消息,实时接收. node的基础知识这里不再赘述,首先先学习一下socket.io服务端和客户端…
本想着从hello word开篇,也确实写了相关学习笔记.各种原因吧,现在又着急写出作品,便作罢. 这里将记录一个node.js+socket.io的实时聊天程序.(当然我也是跟着网上各种教程资料学习,也是第一次写博客,请各位不喜勿喷,小缓本就没自信) 需求分析: 1:允许客户端有相同的用户名. 2:进入聊天室后可以看到当前在线的用户和在线人数. 3:用户上线或退出,客户端进行实时更新. 4:用户发送消息,实时接收. node的基础知识这里不再赘述,首先先学习一下socket.io服务端和客户端…
使用场景:  聊天室:大量数据常驻交互: 技术栈: Node.js,     Vue.js || 原生JS 服务端代码: const app = require('http').createServer() const io = require('socket.io')(app) app.listen(8877) io.on('connection', scoket => { let i = 1 const t = setInterval(()=>{ i++ if(i >= 12) {…
Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战.写教程一方面在自己写的过程中需要考虑更多的东西,另一方面希望能对node入门者有一些帮助.相信大多数跟随前面一章教程来到这一章的读者大多分成两类,第一类是知道node,想学习node,但是英文匮乏或者网上教程不给力,希望有一个全面一点的教程入门的:第二类应该是node入门,但是之前使用的不是类似M…
前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战.写教程一方面在自己写的过程中需要考虑更多的东西,另一方面希望能对node入门者有一些帮助.相信大多数跟随前面一章教程来到这一章的读者大多分成两类,第一类是知道node,想学习node,但是英文匮乏或者网上教程不给力,希望有一个全面一点的教程入门的:第二类应该是node入门,但是之前使用的不是类似MongoDB这种非关系型数据库,想学习一下的.从我个人的角度看来,我希望自己前一段…
前言 本文并不是网上流传的多少天学会MongoDB那种全面的教程,而意在总结这几天使用MongoDB的心得,给出一个完整的Node+Express+MongoDB+Socket.io搭建实时聊天应用实战教程.写博客的目的,一来是为了方便自己日后查阅某些语法,二来是本着学习和共享的精神,与大家探讨技术.本系列教程同步到个人的Github:https://github.com/yuanzm/MongoDB-demo MongoDB简介 MongoDB 是目前在IT行业非常流行的一种非关系型数据库(N…
最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞.评论.关注等操作时,需要由服务器向用户实时地推送一条消息.最终完成的项目地址为:socket-message-push,这里将介绍一下实现的思路及部分代码. 项目背景介绍 最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞.评论.关注等操作时,需要由服务器向用户实时地推送一条消息.最终完成的项目地址为:socket-message-push,这里将介绍一下实现的思路及部分代码. 项目的流程中存在着…
使用Socket.IO可以避免webSocket产生的问题: 传输: Socket.IO中消息的传递是基于传输的,而非全部依靠WebSocket; 它总会尝试选择对用户来说速度最快.对服务器性能来说最好的方法来建立连接: 要是条件达不到,那么首先会保证连接正常: 断开VS关闭: //对超时的支持 Socket.IO监听的是connect事件而不是open事件:是discounnect事件而不是close事件: 若客户端停止传输数据,但一定时间内又没有正常关闭连接,Socket.IO就会认为它是断…
socket.io 是基于 webSocket 构建的跨浏览器的实时应用. 逛博客发现几个比较好的 一.用socket.io实现websocket的一个简单例子 http://biyeah.iteye.com/blog/1295196 二.socket.io的介绍 http://www.cnblogs.com/mazg/p/5467960.html…
Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚拟机.也可以选择自定义安装,只安装命令行模式(BasicServer),在等待CentOS安装程中可以设置登录密码; 3.CentOS7安装完成后,默认关闭网卡,需要手动开启; 4.打开终端,输入su root,然后输入登录密码,即可获得root权限; 5.输入yum install epel-release…
Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系统模块 Net:网络模块 Http:http模块 ... NPM(node包管理工具) 第三方node模块(包)的管理工具,可以使用该下载工具安装第三方模块.,当然也可以创建上传自己的模块. 参考 假定已经理解并掌握了入门教程的所有内容.在易出错的地方将进行简要的说明. 其它 这是最不起眼,但也是最…
vue.js+socket.io+express+mongodb打造在线聊天 在线地址观看 http://www.chenleiming.com github地址 https://github.com/ClmPisces/... 有喜欢的小哥哥,小姐姐请反手来个star,谢谢!有issue的欢迎提出 介绍本项目基于vue.js+socket.io+express+mongodb实现的聊天效果, 界面以及功能参考QQ,微信技术栈 前端: vue,vue-router,vuex,axios 构建:…
vue.js+socket.io+express+mongodb打造在线聊天[二] 在线地址观看 http://www.chenleiming.com github地址 https://github.com/clm960227/... 有喜欢的小哥哥,小姐姐请反手来个star,谢谢!有issue的欢迎提出 介绍本项目基于vue.js+socket.io+express+mongodb实现的聊天效果, 界面以及功能参考QQ,微信 技术栈 前端: vue,vue-router,vuex,axios…
Node.js 博客搭建:https://www.linuxidc.com/Linux/2017-02/140115.htm https://www.cnblogs.com/mrcln/p/9308729.html…
https://www.jianshu.com/p/9b338095cbe8 node.js+mysql环境搭建 0x01 前言 随着html web技术的发展,和全栈式开发的需求,对于前端人员来讲,后端的基础知识也成为一项必修课程.本节我将分享探讨关于windows下的node+mysql搭建流程. 下载地址: mysql 点击下载 mysql native 提取码: 0027 点击下载 0x02 下载安装mysql,并进行配置 参考文档 1. 下载mysql   image.png 2. 初…
首发:个人博客,更新&纠错&回复 今天的思维漫游如下:从.net的windows程序开发,摸到nodejs的桌面程序开发,又熟悉了一下nodejs,对“异步”的理解有了上上周对操作系统的学习而更能理解.然后发现了Node.js中的socket.io这个模块,又觉得跟前几天用.net做客户端的socket游戏了.技术世界,兜兜转转,相逢一笑,疑是故人. socket.io用来做实时web程序,解决之前的B/S程序只有无状态连接,特定需求还需要用长连接这种“奇技淫巧”的问题.当然,这是html…
socket.io是一个websocket库,包含客户端的js和服务端的node.js,可以在不同浏览器和移动设备上构建实时应用. 一.安装 socket.io npm install socket.io 二.通过socket.io创建一个简单应用 const http = require('http'); const path = require('path'); const express = require('express'); //创建一个应用,注意app其实就是一个函数,类似func…
一.聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制.聊天室增加了 注册登录模块 ,并将用户个人信息和聊天记录存入数据库. 数据库采用的是mongodb , 并使用其相应mongoose对象工具来处理数据的存取. 功能主要涉及:群聊.私聊.设置个人信息.查看聊天记录.查看在线用户等 效果图: 你也可以直接来这里  查看演示 二.聊天室基本设计思路 除去上次的注册登录模块不说,本次主要就是增加了socket.io模块的设计 以及 …