NodeJS简单实现WebSocket功能示例


Posted in NodeJs onFebruary 10, 2018

本文实例讲述了NodeJS简单实现WebSocket功能。分享给大家供大家参考,具体如下:

我们基于expresssocket.io开发,首先我们需要安装以下包

npm install --save express
npm install --save socket.io

服务器端代码:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
  res.send('<h1>Welcome Realtime Server</h1>');
});
io.on('connection', function(socket){
  console.log('a user connected');
  socket.on("disconnect", function() {
    console.log("a user go out");
  });
  socket.on("message", function(obj) {
    io.emit("message", obj);
  });
});
http.listen(3000, function(){
  console.log('listening on *:3000');
});

客户端代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="http://127.0.0.1:3000/socket.io/socket.io.js"></script>
</head>
<body>
  <ul id="message"></ul>
  <script>
    socket = io.connect('ws://127.0.0.1:3000');
    socket.emit("message", {"name" : navigator.userAgent, "msg" : "hello world"});
    socket.on("message", function(obj) {
      console.log(obj);
    });
  </script>
</body>
</html>

一个控制台版的聊天室做好了(^o^)/~

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
NodeJs下的测试框架Mocha的简单介绍
Feb 22 NodeJs
nodejs 子进程正确的打开方式
Jul 03 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 NodeJs
nodejs文件夹深层复制功能
Sep 03 NodeJs
nodejs dgram模块广播+组播的实现示例
Nov 04 NodeJs
nodejs使用redis作为缓存介质实现的封装缓存类示例
Feb 07 #NodeJs
nodejs中Express与Koa2对比分析
Feb 06 #NodeJs
nodejs实现的连接MySQL数据库功能示例
Jan 25 #NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 #NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 #NodeJs
使用npm安装最新版本nodejs
Jan 18 #NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 #NodeJs
You might like
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python常用模块介绍
2014/11/21 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
会议欢迎标语
2014/06/30 职场文书
环境科学专业求职信
2014/08/04 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
出纳岗位职责
2015/01/31 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
python之基数排序的实现
2021/07/26 Python