无法在node.js中使用express运行客户端服务器
嘿,我刚刚开始修补node.js并且是一个完整的noob。我试图得到一个简单的客户端服务器通信使用socket.io和表达(我从来没有使用过这些)。无法在node.js中使用express运行客户端服务器
,这里是我的应用程序代码(app.js):
var sys = require('sys'),
express = require('express'),
app = express('localhost');
http = require('http'),
server = http.createServer(app),
io = require('socket.io').listen(server);
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
res.send('Hello World');
});
app.listen(3000);
var socket = require('socket.io').listen(server);
socket.on('connection', function (client){
// new client is here!
setTimeout(function() {
client.send('Waited two seconds!');
}, 2000);
client.on('message', function() {
}) ;
client.on('disconnect', function() {
});
});
,这里是我的客户端(client.html)代码:
<html>
<p id="text">socket.io</p>
<script src="/socket.io/socket.io.js"></script>
<script>
$(document).ready(function(){
var socket = new io.Socket(),
text = $('#text');
socket.connect();
socket.on('connect', function() {
text.html('connected');
});
socket.on('message', function (msg) {
text.html(msg);
});
socket.on('disconnect', function() {
text.html('disconnected');
});
});
</script>
我得到了大部分的代码: NodeJS + socket.io: simple Client/Server example not working
和改变它是与快递3.x的兼容
然而,当我运行服务器并使用chrome打开我的客户端时,它告诉我它无法加载资源文件: IO使用NPM
我也有过ATLEAST 20分类似的帖子阅读并一直没能找到答案
请帮助我。谢谢
你是否直接从本地文件系统打开client.html页面?对socket.io.js的请求应该看起来像http://localhost/socket.io/socket.io.js
而不是file:///socket.io/socket.io.js
。
我已经试过了,它仍然给我的错误,它无法加载http://localhost/socket.io/socket.io.js – user2197558 2013-03-22 05:15:49
socket.io.js文件需要从端口3000提供,如localhost:3000。 因此,这里是你做了什么改变 <script src="/socket.io/socket.io.js"></script>
到
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
'express'为您创建的服务器,你可能并不需要另一个'server' – imslavko 2013-03-22 02:28:59