スクリプトの問題でなくて、ルータの設定の問題なんでね。
その内書き足そうとは思っていたが、丁度良いかもしれない。
グローバルIPとローカルIPの区別は付いているか?
通常のネットのIPは、ルータを境目にして外側と内側で「別物」だ。
グローバルIPは外側、世界で使われているIPで、
ローカルIPは内側、お前のLAN内で好き勝手にIPを決めていい世界だ。
ところで、外のネットワークを使って他者に接続する以上、
グローバルなIPで、狙いの相手を指定しなければならん。
つまり、玄関口であるルータ自身が外部に繋がっているIPは何番か?と言う話になる。
PC自身のIPを見ても、勝手に作っていい数値で勝手に作られたIPだ。世間で通用しない。
ルータが外部に繋がっているIPは、接続中のルータの現在の設定を見れば分かる。
ルータのマニュアル用意しろ。メーカによって表現が違うかも知れないが、
「WAN側のIP」という表現があったらそれがグローバルIPだ。
他に、
http://dog.tele.jp/lookup.php
のようなサイトをチェックすれば、直にグローバルIPを確認する事ができる。
さて、グローバルIPが分かったのはいいが、それだけでは接続は出来ない。
グローバルIPで玄関までたどり着いたが、どの部屋のPCに目的のプログラムがあるか、分からないからだ。
ここでポート番号の話になる。
サンプルのチャットはたしか50000にしてたと思が、この指定されたポート番号を使うよう信号が届いたら、
狙ったPCのローカルIPに繋いでくれるよう、ルータに設定しなければならない。
設定の方法はルータのマニュアルを読め。
この設定をする必要があるのはホスト側の方だけで、クライアント側は、
上記で明確になったグローバルIPと、ルータに中継を頼んだポート番号が分かっていれば
接続できる。
とりあえず、参考になりそうなサイトだ。
http://www.geocities.jp/seidy_seidy/bb/port.html
こんなもんかね。