我想做一个简单的应用程序使用节点,并表达我可以与套接字共享实时数据。无论我尝试什么,我都无法让服务器或客户端互相发送消息。插座不通信
服务器:
var express = require('express');
var app = express();
var path = require('path');
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io')(server);
//set location for views
app.set('views', __dirname + '/views');
//set location for static files
app.use(express.static(path.join(__dirname, 'public')));
app.use('/scripts', express.static(__dirname + '/node_modules/'));
//create route
app.get('/', function(req, res) {
res.render('home.jade');
});
//Connection listener for io object
io.on('connection', function(socket){
console.log('A user has connected');
socket.on('test', function(data){
console.log(data);
});
})
server.listen(3000, "localhost");
客户:
var socket = io.connect('http://:localhost:3000');
$(document).on('click', '#submit-message', function() {
socket.send('test', {contents: "hello"}); //static for now
});
您是否在服务器或浏览器调试控制台中看到任何错误?你有的结构看起来一般都很好,所以一定会有一些错误触发某种错误。您需要查看该错误是什么 - 希望在控制台中作为日志消息,或者通过检查浏览器中的网络选项卡来查看网页中的连接情况。 – jfriend00
'http://:localhost:3000'是一个无效的URL。 – robertklep
我在浏览器中没有任何错误。我知道该URL看起来很奇怪,但它不起作用,如果我把http:// localhost:3000 –