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
Nodejs全栈框架StrongLoop推荐
Nov 09 NodeJs
Windows 系统下设置Nodejs NPM全局路径
Apr 26 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
使用nodeJs来安装less及编译less文件为css文件的方法
Nov 20 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 NodeJs
nodejs如何在package.json中设置多条启动命令
Mar 16 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 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 采集程序 常用函数
2008/12/18 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
关于IIS php调用com组件的权限问题
2012/01/11 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
python实现数据写入excel表格
2018/03/25 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Python中字符串List按照长度排序
2019/07/01 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python class的继承方法代码实例
2020/02/14 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
python自动化办公操作PPT的实现
2021/02/05 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
营销主管自我评价怎么写
2013/09/19 职场文书
车队司机自我鉴定
2014/03/02 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
员工安全责任书范本
2014/07/24 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android
mysql sql常用语句大全
2022/06/21 MySQL