したがって、基本的に私はポート1900
でApacheによって実行されているWebページを持っていて、ポート3000
でNodeJSサーバーを実行しています。 Serverコード:apacheからNodeJSサーバーに接続するページ
var socket = io('192.168.0.105:3000');
サーバー(私のラップトップ)とApacheを実行するコンピュータからページをロードするときにNodeJSサーバーに接続します。
var express = require('express');
var http = require('http');
//make sure you keep this order
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
var port = 3000;
server.listen(port, '192.168.0.105', function(){
console.log('Server started: listening on port '+port+'.');
});
WebページAの次のコードを持っています。 問題は、サーバーを実行しているラップトップと同じLANに接続されている別のコンピューター(ラップトップ)からWebページにアクセスしようとすると表示されます。 そのラップトップから192.168.0.105:1900
にアクセスすると、ApacheからロードされているNodeJSサーバーに接続されていないページのみが表示されますが、これはいつでも192.168.0.105:3000
に接続しようとしますが、1分後に失敗します。
この問題を解決するにはどうすればよいですか? ありがとうございます。
サーバーに接続していないことをどのように確認しますか?あなたはソケットサーバーに接続する際に何かを慰めていません。 – Shaharyar
まず、ラップトップ上のコマンドシェルに行き、 'ping 192.168.0.105'を実行して、他のサーバに到達できるかどうか確認してください。ネットワーク上の問題またはローカルのファイアウォールの問題が考えられます。また、ブラウザのデバッグコンソールで、エラーが報告されているかどうかを確認して、それがさらなる手掛かりを提供しているかどうかを確認する必要があります。 – jfriend00
@Shaharyarをコンソールに接続すると、 '192.168.0.105:3000'に接続しようとしているように見えますが、それは数秒でサーバーに接続するラップトップに比べて永久に読み込まれます。 – southpaw93