nodeJS+socket.io传递消息
服务器端
安装express,socket.io
npm install express --save-dev
npm install socket.io --save
app.js
const express = require('express');
const app = express();
var server = require('http').createServer(app).listen(8083);
var io = require('socket.io')(server);
io.on('connection', function(socket) {
// 想客户端传递消息
socket.emit('news',{hello:'hello'})
// 接收并处理客户端的hi事件
socket.on('start', function(data) {
// ....
})
// 断开事件
socket.on('disconnect', function(data) {
console.log('断开通话');
//socket.emit('c_leave','离开');
//socket.broadcast用于向整个网络广播(除自己之外)
//socket.broadcast.emit('c_leave','某某人离开了')
})
});
客户端
安装socket.io。
注意:这里不能npm install socket.io。这个是服务器端的插件应用。不是客户端。
直接在index.html中引入socke.io。
这样就可以用io这个变量了
<script src="https://cdn.bootcss.com/socket.io/2.2.0/socket.io.dev.js"></script>
$('#submit').click(function(){
var socket = io.connect('http://localhost:8080');
socket.on('news', function (data) {
alert(data.hello);
});
socket.emit('start',1)
// 可以用close()断开连接。服务器端disconnect会监听到
socket.close();
})
相关文档api
https://github.com/socketio/socket.io-client/blob/master/docs/API.md
nodeJS+socket.io传递消息的更多相关文章
- nodejs + socket.io + redis 新手上路
最近要更新网站架构了,决定转入 nodejs + socket.io + redis 方式. 战斗刚开始: 网上的文章太松散,我根据各个网友的分享进行整理 ,让大家可以方便上手. 进入node.js之 ...
- NodeJS + Socket.io搭建聊天服务器
第一步:安装node git clone https://github.com/joyent/node.git cd node git checkout v0.10.33-release ./conf ...
- 利用socket.io实现消息实时推送
最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞.评论.关注等操作时,需要由服务器向用户实时地推送一条消息.最终完成的项目地址为:socket-message-push,这里 ...
- nodejs socket.io初探
1.安装socket.io npm install socket.io 2.创建服务端代码server.js var app = require('http').createServer(handle ...
- nodejs+socket.io即时聊天实例
在这之前你应该先安装好 Node.js,安装过程不再讲解 首先在你的电脑上创建一个新目录,姑且命名为 chat,然后在该目录创建两个文件,分别是 app.js 和 index.html. app.js ...
- nodeJs+socket.io
1.先安装npm和node 2.安装socket.io npm install socket.io 3.html <!DOCTYPE html> <html lang="e ...
- Socket.io发送消息含义
仅作收藏:转自博客园 若相忆; // send to current request socket client socket.emit('message', "this is a test ...
- NodeJS + Socket.io聊天服务器连接数达到1024后就连不上了
如果是亚马逊的Engine Yard服务器,解决办法为: 1.查看端口占用情况,找到nodejs进程号,例如我这里是8000端口 lsof -i:8000 找到pid 例如为 8213 2.设置no ...
- Socket.io+Notification实现浏览器消息推送
前言 socket.io: 包含对websocket的封装,可实现服务端和客户端之前的通信.详情见官网(虽然是英文文档,但还是通俗易懂).Notification: Html5新特性,用于浏览器的桌面 ...
随机推荐
- springMVC No mapping found for HTTP request with URI
转载自:http://blog.sina.com.cn/s/blog_534f69a00101332u.html 1.问题: No mapping found for HTTP request wit ...
- OPENCV(2) —— Basic Structures(二)
Mat OpenCV C++ n-dimensional dense array class The class Mat represents an n-dimensional dense numer ...
- OPENCV(2) —— Basic Structures(一)
DataType A primitive OpenCV data type is one of unsigned char, bool,signed char, unsigned short, sig ...
- 如何在 Highcharts 图中当所占百分比为 0 时不显示0%
解决办法其实很简单,将enabled属性改为false即可: dataLabels: { enabled: false } 完成之后的显示如下
- CentOS-6.4-minimal版中安装JDK_Maven_Subversion以及改动rpm包安装路径
完整版见https://jadyer.github.io/2013/09/07/centos-config-develop/ /** * @see -------------------------- ...
- atitit.jndi的架构与原理以及资源配置and单元測试实践
atitit.jndi的架构与原理以及资源配置and单元測试实践 1. jndi架构 1 2. jndi实现原理 3 3. jndi资源配置 3 3.1. resin <database> ...
- 7.Web Service 调用天气代码
1. 2500多个城市天气预报 WEB服务公用事业 Endpoint:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx Disco: ...
- 用AOP改善javascript代码
Aop又叫面向切面编程,用过spring的同学肯定对它非常熟悉,而在js中,AOP是一个被严重忽视的技术点,这篇就通过下面这几个小例子,来说说AOP在js中的妙用. 1, 防止window.onloa ...
- vuejs实现表格分页
http://www.cnblogs.com/landeanfen/p/6054654.html#_label3_8 <html xmlns="http://www.w3.org/19 ...
- Android eclipse 提示java代码 快捷键
1.提示java代码能够用ALT+/ 键就能够了(前提是你要把你须要的类或方法的首字母打出来).我添加的部分:仅仅要输入sysout,然后alt+/键就能够输出System.out.prinln(), ...