2009-04-01 30 views
0

これはわずかなプログラミング上の問題であり、ネットワーク上の問題です。Windows XPネットワークで接続が拒否されました

ホームネットワークでDjango Webアプリケーションを実行しようとしていますが、ネットワーク上のどのマシンもWebページにアクセスできません。私は幸運なしでポート80と8000で走った。エラーメッセージ:「Firefoxは192.168.x.xのサーバーへの接続を確立できません」私は、クライアントからのpythonのソケットを使用してみました

import socket 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.connect (("192.168.x.x", 80)) 

私はちょうど得る "socket.errorが(10061は、 '接続が拒否されました')"。興味深いことに、ポート25に接続できます。

Windowsファイアウォールは実行されていません。ケーブルモデムの前にNetGearルータ/ファイアウォールがあります。

これを設定するにはどうすればよいですか?


も試してみました:

import urllib2 
urllib2.urlopen("http://192.168.x.x/") 

同じことを。


Re:「実行中のマシンからDjangoアプリを見ることはできますか?」

はい。それは同じマシン上で動作します。ネットワーク上では機能しません。

私が選択したポート(80,8000など)で実行するようにサーバーを設定することもできます。ネットワーク経由ではなくローカルにアクセスできます。


Q. netstat-ableですか? A.はい:

Proto Local Address   Foreign Address  State 
    .... 
    TCP D3FL2J71:http   localhost:1140   TIME_WAIT 
    TCP D3FL2J71:http   localhost:1147   TIME_WAIT 

私はローカルに2つのブラウザウィンドウに表示ウェブサイトを持っています。


使用明示的な外部ポート(ローカルホストに依存しない):

python manage.py runserver 192.168.x.x:8000 

ビンビンビンビンビンビン!私たちは勝者を持っています!

うわー、これはネットワーキングの問題ではないことを嬉しく思います。


「Djangoのアプリは間違いなく192.168.x.xアドレスにだけではなく、ループバックアダプタ上で自分自身をアドバタイズしています?」

Jonも正しい軌道に乗っていたようですが、コメントはDjangoサーバーのセットアップコールを確認する方向に向いていませんでした。

答えて

3

あなたはdjango dev serverを実行していると仮定しますか?(試したことがないとあなたはすべてのアドレスにバインドするようにサーバーを頼むことができ

python manage.py runserver 192.168.x.x:8000 

:もしそうなら、それは他のマシンが接続に使用する必要があるIPアドレスにバインドするように、あなたはそれを開始しますこれはWindowsの自分自身に、私は認める):

python manage.py runserver 0.0.0.0:8000 

通常のrunserverの使用は、私は怖い、localhostのみに結合します。

+0

Re: "通常のrunserverの使用法はlocalhostにのみバインドされます。私は恐れています。" 有名な最後の言葉。 – hughdbrown

関連する問題