我想做一個簡單的應用程序使用節點,並表達我可以與套接字共享實時數據。無論我嘗試什麼,我都無法讓服務器或客戶端互相發送消息。插座不通信
服務器:
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 –