1
私はNode.jsを初めて使用していて、簡単なチャットアプリケーションを完成しようとしています。
しかし、私は立ち往生しています。私はGoogleにしようとし、他のソリューションを使用したが、私はそれが何らかの理由で働いて見つけることができません。もし誰かが私を助けてくれるなら、それはすばらしいことになるでしょう。Socket.IOはローカルで動作しますが、externallyではありません
エラーが表示されるのは、応答に時間がかかりすぎるということです。
ここに私のコードです。
サーバー側:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
//##### PUSH HTML FILE
app.get('/', function(req, res){
res.sendFile(__dirname +'/index.html');
});
//##### START SERVER
http.listen(3000, '0.0.0.0', function(){
console.log('started on port: 3000');
});
//##### USER CONNECTED
io.on('connection', function(socket){
console.log('A User Connected');
//##### LOG MESSAGE
socket.on('chat message', function(msg){
console.log(msg);
io.emit('chat message', msg);
});
//##### LOG USERNAME
socket.on('set username', function(username){
console.log('NEW USER: ' + username + ' has been set!');
io.emit('set username', username);
});
//#####USER DISCONNECTED
socket.on('disconnect', function(){
console.log('A user disconnected');
});
});
クライアント側:事前に
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
//##### SET USERNAME
$('#set_username').submit(function(){
socket.emit('set username', $('#username').val());
return false;
});
//##### SET MESSAGE
$('#sendmsg').submit(function(){
var msg = '['+$('#username').val()+'] ' + $('#m').val();
socket.emit('chat message', msg);
$('#m').val('');
return false;
});
//SET MESSAGE
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
</script>
ありがとう!コメントの
クライアントに接続するサーバーはどこで指定していますか? –
NATの後ろにいる。 – Turrican
ここで暗闇の中でちょうど撃たれました、あなたのサーバー上のポート3000がファイアウォールの後ろにあると感じました@Turricanは、あなたのルータにNATを設定する必要があると言います..TCP/IPには区別がありませんローカルホスト(127.0.0.1)、または他のIP間また、すべてのインターフェイス0.0.0.0でリッスンしているので、問題のノードアプリケーションではありません。 – Keith