我的server:
var express = require(‘express’);
var app = require(‘express’)();
var server = require(‘http’).Server(app);
var io=require(‘socket.io’)(server);
io.sockets.on(‘connection’, function (socket) {
socket.emit(‘news’, { hello: ‘world’ });
socket.on(‘my other event’, function (data) {
console.log(data);
});
});
…其他省略…
client: <html> <head> <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect(‘http://localhost:3000’); socket.on(‘news’, function (data) { console.log(data); socket.emit(‘my other event’, { my: ‘data’ }); }); </script> </head> <body > <div></div> </body> </html>
前辈们帮我看看我的socket.io搭载在express服务器上 这样写对不? 然后:如果我这样写的话 前端会报两个错第一个:Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/socket.io/socket.io.js 第二个:Uncaught ReferenceError: io is not defined 这里说找不到socket.io/socket.io.js 这个JS,确实。我自己也不知道这个JS文件到底是哪一个,代码是copy过来的。node 新人,还请各位多指点指点
帖子不能沉,果断继续等
装socket.io模块了么?
@haibo32012 装了 这是我的依赖文件: { “name”:“express-tweet” ,“version”:“0.0.1” ,“dependencies”:{ “express”:“4.5.1” ,“ejs”:“1.0.0” ,“superagent”:“0.3.0” ,“body-parser”:“1.5.0” ,“connect-multiparty”:"" ,“excel-export”:"" ,“node-xlsx”:"" ,“mongodb”:"" ,“cookie”:“0.1.2” ,“socket.io”:“1.0.6” ,“cookiejar”:“2.0.1” }
}
node了解过么,静态文件加载了么?还有你用的都是最新的模块,例子上用的都是以前的,版本不一样,要注意调整内容
@haibo32012 恩 问题找到了,就像你说的那样,例子是以前的语法,我用到 模块是最新的,我socket.io搭载在express服务器的代码 不对。虽然server没有报错。但是 导致client 无法加载socket.io.js。 在http://stackoverflow.com/questions/16981396/get-http-localhost3000-socket-io-socket-io-js-404-not-found上 有一个跟我问题一样的 同学,然后有人给出了最新的语法… 好吧 现在算是能个socket.io勾搭上了。接着要去试试 怎么实时更新数据了