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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
使用forever管理nodejs应用教程
Jun 03 NodeJs
nodejs实现的一个简单聊天室功能分享
Dec 06 NodeJs
NodeJS中Buffer模块详解
Jan 07 NodeJs
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 NodeJs
让nodeJS支持ES6的词法----babel的安装和使用方法
Jul 31 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
nodejs更新package.json中的dependencies依赖到最新版本的方法
Oct 10 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 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生成EXCEL的东东
2006/10/09 PHP
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
详解js中==与===的区别
2017/01/08 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
详解redux异步操作实践
2018/08/15 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
python显示生日是星期几的方法
2015/05/27 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
python数据挖掘需要学的内容
2019/06/23 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
flask实现验证码并验证功能
2019/12/05 Python
Pytorch转tflite方式
2020/05/25 Python
python 代码运行时间获取方式详解
2020/09/18 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
Laravel中Kafka的使用详解
2021/03/24 PHP
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
广播节目策划方案
2014/05/23 职场文书
企业党员一句话承诺
2014/05/30 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL