文档章节

node express4.0+socket.io整合 访问不到 socket.io.js问题

Rezeroer
 Rezeroer
发布于 2015/07/02 14:19
字数 349
阅读 667
收藏 1

server.js 代码


var express=require("express"),
    pipe=require("./pipe.js"),
    app=express(),
    http=require('http').createServer(app)
    sio=require('socket.io').listen(http);
// do.......
sio.on('connection',function(socket){
   console.log('connection');
   socket.on('msg',function(a){
        console.log(a);
        sio.emit('msg','你妹妹');
   });
});
app.listen(7777,function(){
    console.log("app started port is 7777");
});



执行 node server.js 运行后


在浏览器上访问 /socket.io/socket.io.js  为404

折腾了一个小时 终于解决了

将app.listen改成http.listen就好了


var express=require("express"),
    pipe=require("./pipe.js"),
    app=express(),
    http=require('http').createServer(app)
    sio=require('socket.io').listen(http);
//js合并
pipe(app);
//购物车
require("./cart.js")(app);
app.engine("html",require("./lib/tpl-node.js"));
//require('./test/websocket.js')(app);
app.gome={
   static:"E:\\workspaces\\dev\\Storefront\\storedocroot.war",
   jsserver:"http://localhost:7777",
   
};
app.use(express.static(app.gome.static));
app.use(express.static('./test'));
app.get("/",function(req,res){
    res.send("index").end();
});
sio.on('connection',function(socket){
   console.log('connection');
   socket.on('msg',function(a){
        console.log(a);
        sio.emit('msg','你妹妹');
   });
});
http.listen(7777,function(){
    console.log("app started port is 7777");
});





下面是一个完整的 server 和client js

server.js


var express=require("express"),
    pipe=require("./pipe.js"),
    app=express(),
    http=require('http').createServer(app)
    sio=require('socket.io').listen(http);
//js合并
pipe(app);
//购物车
require("./cart.js")(app);
app.engine("html",require("./lib/tpl-node.js"));
//require('./test/websocket.js')(app);
app.gome={
   static:"E:\\workspaces\\dev\\Storefront\\storedocroot.war",
   jsserver:"http://localhost:7777",
   
};
app.use(express.static(app.gome.static));
app.use(express.static('./test'));
app.get("/",function(req,res){
    res.send("index").end();
});
sio.of('/test').on('connection',function(socket){
   console.log('connection');
   socket.on('msg',function(a){
        console.log(a);
        socket.emit('msg','你妹妹');
   });
});
http.listen(7777,function(){
    console.log("app started port is 7777");
});



client.js



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script src="/socket.io/socket.io.js"></script>
    <script>
        socket = io.connect('ws://localhost:7777/test');
        socket.emit('msg',{hello:'nimie'});
        socket.on('msg',function(a){
           alert(a); 
        });
    </script>
</body>
</html>




© 著作权归作者所有

Rezeroer

Rezeroer

粉丝 54
博文 74
码字总数 23318
作品 0
海淀
程序员
私信 提问
express4.0+socket.io整合的问题。

网上大部分例子都是express3.0.新版的api貌似差别蛮大,我装的4.0用网上的例子基本不能跑。就只能结合官网的例子,在这基础上修改。。 以下是部分代码 app.js bin/www中 修改完以后。能够正常...

黄开源中国
2014/06/05
3.7K
2
用NodeJs使用Io做一个聊天室

功能分析 我们要做一个聊天室,简单起见,就不做私聊的功能了,那么我们想要的功能可以是这些: 每个人有自己的昵称,在进入聊天室的时候自己输入。 每个人都可以发言 有一个区域用来展示所有...

史帝文
03/02
0
0
socket.io编写简单的聊天室过程记录

socket.io编写简单的聊天室过程记录 全局安装express模块 npm install express-generator -g 安装express,命令行还是没有express这个命令,安装express-generator才可以。不明白是什么意思。...

带我去火星
2015/03/04
2
0
node+socket.io 实现一个聊天室

我们只做简单的实现,不接入数据库,nodejs也不使用express和koa等框架 因此依赖只有两个: 1、socket.io 2、mime(用于获取静态资源时获取文件的mime类型) 安装命令: npm install socket...

伯涵Style
01/06
0
0
在虚拟机上运行hadoop master节点和slave节点问题

我在一台电脑上装了两个linux虚拟机上网用NAT模式(问题可能在这儿)。 在两台虚拟机上安装分布式hadoop ssh已经能够互相免密码登陆,hosts hostname 解析应该也没问题。 hadoop文件中的各种...

LaRade
2015/04/13
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

程序员随想-关于分享

最早的时候,文字是贵族这些上层人士才会学习的,底层人士没有资格和渠道去学习,同样用文字、图像等其他载体承载的知识大部分也只有贵族阶层才能享受的。后来有了造纸术、印刷术,成本降低,...

Lubby
28分钟前
1
0
聊聊hibernate的session-level repeatable reads

序 本文主要研究一下hibernate的session-level repeatable reads 实例 doInTransaction(session -> { Product product = new Product(); product.setId(1L); product.setQuanti......

go4it
39分钟前
0
0
ubuntu或ubuntu kylin优麒麟中安装QQ、wechat微信、百度网盘

从中国国内的地址下载deepin wine,码云上的。这样网速比较快。然后,按照说明向下安装。 https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu...

gugudu
51分钟前
2
0
基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源...

别打我会飞
今天
14
0
Zookeeper的实践指南

本章重点 1.数据存储2.基于Java API初探Zookeeper的使用3.深入分析Watcher机制的实现原理4.Curator客户端的使用,简单高效 数据存储 事务日志快照日志运行时日志 bin/zookeepe...

须臾之余
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部