ノードを使用して簡単なアプリケーションを作成しようとしています。ライブデータをソケットと共有できる場所を表現しています。私が何を試しても、サーバーまたはクライアントにメッセージを送信することはできません。ソケットが通信していない
サーバー:
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
});
サーバーまたはブラウザのデバッグコンソールにエラーが表示されますか。あなたが持っている構造は一般的にOKですので、何らかのエラーを引き起こしている何かが間違っていなければなりません。そのエラーが何かを知る必要があります。うまくいけば、ログメッセージとしてコンソールに表示したり、ブラウザからネットワークタブを調べて、Webページからの接続で何が起こっているのかを調べる必要があります。 – jfriend00
'http://:localhost:3000'は無効なURLです。 – robertklep
私はブラウザにエラーがありません。私はURLが奇妙に見えますが、http:// localhost:3000を入力すると動作しません。 –