Node.js socketio一对一客服系统


最近在做一个移动端应用,需要用到客服系统需要与后台管理系统对接,想到需要主动推送消息道前端页面,搜了一下HTML5  websocket 可以搞定,但是由于手机端浏览器版本与不同,所以有些浏览器是不支持websocket ,之后加入socketjs 后,问题依然没有解决,所以没有深入socketjs,后搜到 socketio+Node.js 方式可以解决,所以尝试后问题得以解决,后台还涉及与不同用户聊天的功能需要完善,碰到同样问题的同学,仅供参考.


1.环境支持

首先安装 Node.js 环境,参考上一篇

进入  node.js 工作目录

cd /usr/services/realtime


安装node.js插件

npm install --save express

npm install --save socket.io


2.服务器端代码

chatServer.js

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
	res.send('

Welcome Realtime Server

'); }); var users = {}; io.on('connection', function(socket){ console.log('a user connected'); socket.on('private message', function (sign,msg) { console.log('private message'); io.sockets.in('group'+sign).emit('event_name', msg); }); socket.on('new user',function(sign){ console.log('group'+sign); socket.join('group'+sign); }); }); http.listen(3000, function(){ console.log('listening on *:3000'); });

3.客户端代码

首先需要引入js地址 代码如下

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
  

		发送信息:

4.启动服务器


$ nohup node chatServer.js &


5.测试

先用groupId  = 2 打开两个网页测试是否可以可以正常聊天,改groupId  = 3再打开两个网页看是否互相影响,并且是否可以正常呢聊天



代码地址 https://github.com/zhijun0808/socketio










你可能感兴趣的:(Node.js)