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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
NodeJS学习笔记之(Url,QueryString,Path)模块
Jan 13 NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 NodeJs
详解nodejs微信公众号开发——6.自定义菜单
Apr 13 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 NodeJs
在NodeJs中使用node-schedule增加定时器任务的方法
Jun 08 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
2006/12/23 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
用PHP代码给图片加水印
2015/07/01 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
Python计算回文数的方法
2015/03/11 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
Python部署web开发程序的几种方法
2017/05/05 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python中for in的用法详解
2020/04/17 Python
python 下载文件的多种方法汇总
2020/11/17 Python
台湾旅游网站:灿星旅游
2018/10/11 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
班级聚会策划书
2014/01/16 职场文书
个人授权委托书范本
2014/04/03 职场文书
大学生社会实践评语
2014/04/25 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
兽医医药专业求职信
2014/07/27 职场文书
酒店管理失职检讨书
2014/09/16 职场文书