博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Socket.IO + Express实现的跨浏览器、子域的聊天室
阅读量:6911 次
发布时间:2019-06-27

本文共 1291 字,大约阅读时间需要 4 分钟。

 

实例中用到了(实例在Windows XP下运行):、、、、

 

先在hosts文件中添加两行规则,关于两个子域的:sub1.localhost、sub2.localhost

使用socket.io

1: var exp = require('express');
2: var app = exp.createServer();
3: 
4: global.socket = require('socket.io').listen(app);
5: global.socket.set('log level', 1);
6: global.socket.set('transports', [ 'websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']);

加载配置,创建子域的应用

1: app.use(exp.vhost('sub1.' + global.host, require('./subdomains/sub1')));
2: app.use(exp.vhost('sub2.' + global.host, require('./subdomains/sub2')));
3: 
4: require('./app/config')(app, exp);
5: require('./app/server/router')(app);
6: require('./app/server/modules/chat-socket');

chat-socket.js模块

1: module.exports = function() {
2:
3:     global.socket.of('/chat').on('connection', function(socket) {
4:        //todo
5:     });
6: }();

前台页面使用socket.io.js建立连接

1: socket = io.connect('/chat');
2: socket.on('status', function (connections) {
3:
4: });
5: socket.on('user-ready', function (data) {
6:
7: });
8: socket.on('user-message', function (data) {
9:
10: });
11: 
12: socket.on('user-disconnected', function (data) {
13:
14: });
15: 
16: //向后台发送消息
17: socket.emit('user-ready', {name : 'xxx'});

 

运行完整的示例node app.js即可,

 

本文参考:

1、

2、

转载于:https://www.cnblogs.com/meteoric_cry/archive/2012/07/26/2610792.html

你可能感兴趣的文章
(十七)SpringBoot之使用异步消息服务jms之ActiveMQ
查看>>
第19讲 | 上手搭建一条自己的智能合约
查看>>
Matlab绘制空间几何图
查看>>
在Node.js上搭建React.js开发环境
查看>>
常州大学新生寒假训练会试 题解
查看>>
ASCII,Unicode和UTF-8
查看>>
性能指标术语&理发店模型
查看>>
【几个关于CSS的网站】
查看>>
【转】python 2.6.6升级到python 2.7.x版本的方法
查看>>
MySQL日志
查看>>
【node】----mocha单元测试框架-----【格尔尼卡ぃ】
查看>>
POJ 1172 DFS
查看>>
选中列得到员工原来的信息
查看>>
C++ 强制类型转换
查看>>
关于属性的一些常用技巧
查看>>
解决8080端口占用问题
查看>>
8.Java5原子性操作类的应用
查看>>
Python中的for...else...搭配
查看>>
paypal支付页面语言版本问题
查看>>
A JavaScript Image Gallery
查看>>