2016-10-25 28 views
0

私はsocket.ioを初めて使用していますので、私のlocalhostで正しく動作するさまざまなチュートリアルから多くの例を得ることができました。今私はそれを私のウェブサイト上で動作させる助けが必要です。私は運がない日にサポートフォームをブラウズしてきました。どんな助けもありがとう。ここで私がこれまで行ってきたことは...Socket.ioはlocalhostでは動作しますがウェブサーバでは動作しません

FileZilla FTP Clientを使用してコード(私のローカルホストで動作していた)をWebサーバー(https://ifastnet.com/がホスト)にエクスポートし、同じ「npm init」を実行しました。私のローカルホスト上で動作させるために私がCMDで使用したパテSSHの "npm install express --save"、 "npm install socket.io --save"、 "node app.js"私は私のウェブサイトに行くとき

私は、クライアント側の

var socket = io.connect('http://31.22.4.6:1122'); 

を使用する場合、ブラウザのコンソール(グーグルクローム)で「ネット:: ERR_CONNECTION_RESET」を得続けます。私は

私のコードは以下の通りです運と

var socket = io(); 

私が試した多くのソリューションを使用する場合

は、私は、ブラウザのコンソールで「404(見つかりません)」を取得します。助けを前にありがとう。

サーバー

var app = require('express')(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 

server.listen(); 
// server.listen(1122, "31.22.4.6"); 

app.get('/', function(req, res) { 
    res.sendfile(__dirname + '/client/index.html'); 
}); 

console.log("server started"); 


io.on('connection', function(socket) { 
    console.log("connection made"); 
    socket.emit('news', { 
     hello: 'world' 
    }); 
    socket.on('my other event', function(data) { 
     console.log(data); 
    }); 
}); 

クライアント

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> 
<script> 
    // var socket = io.connect('http://localhost'); 
    // var socket = io.connect('http://31.22.4.6:1122'); 
    var socket = io(); 
    // var socket = io.connect(); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
</script> 
+0

[これらの手順](http://kb.ifastnet.com/index.php?/article/AA-00416/52/Node.js/Using-Node.js-on-a)に従ったと仮定します。 -premium-shared-hosting-account.html)?この場合、クライアントのデフォルトポート(80)を使用してください: 'var socket = io( 'http://31.22.4.6')'(ポート80は暗黙的です)。そしてサーバの 'server.listen(1122、" 31.22.4.6 ")'のコメントを外します。 – Xodrow

+0

コメントXodrowに感謝します。私はそれを試みたが、私はまだブラウザのコンソールに "net :: ERR_CONNECTION_RESET"エラーが出ている。 – DarkwallLKE

答えて

0

あなたはhttps://ifastnet.comを使用しています。サーバー上でノードを実行するアクセス権がなく、ポート1122のコンテンツにアクセスするアクセス権がないようです。

Amazonなどのsshを提供するサービスが必要です。購入前に試してみたい場合は、Ubuntu仮想マシンを数ヶ月試してみるための無料のサービスがあります。

+0

はいifastnetを使用しています。彼らは私にSSHを提供しました。私はパテ(ポート1122)と私の資格情報を使ってログインできます。そこから、 "node app.js"コマンドを使ってノードを起動することができます。私がそれを実行すると、パテコマンドラインにメッセージが出力されます。例。上記の私のサーバーコードを見ると、 "node app.js"を実行すると、コマンドラインで "server started"と表示されます。 – DarkwallLKE

関連する問題