私はjavaで書いた簡単なチャットプログラムに質問がありました。 プログラムはTCPを使用して、単純なメッセージ文字列をServer/Clientから前後に送信します。ネットワーク上のすべてのコンピュータで動作します。しかし、私はそれを彼のコンピュータから働いているかどうかを見るために私の友人に送ったとき、それはしませんでした。だから私の質問です:私はいくつかの特定のコードを追加する必要があります私のネットワークの外から他のcompsからのメッセージを受信することができますか?またはこれを防ぐファイアウォールの一種ですか?Javaでの簡単なネットワークチャット
答えて
おそらくファイアウォールまたはルーター。
ファイアウォール:ポートが開かれていません。
ルータ:アプリケーションをホストするマシンにメッセージが転送されません。
それとも、上ではないコンピュータ用のコードに特別な何かを指定しない場合、アプリケーションが(あなたの内部IPに転送する必要があります)、インターネット
あなたのクイック応答ありがとう:ありません、サーバーアプリケーションを実行するコンピュータはルータの後ろにありませんが、はい、クライアントプログラム(私の友人)からのメッセージを受信するために使用されるIPは、このコンピュータの内部IPです。だから、私はここから何をするのですか? –
あまりにも簡単... 彼とチャットできるようにしたい場合は、外部IPを使用してポートをそれぞれのマシンにルーティングすることができます。 しかし、これはマシン間ではもう動作しません... どこでも動作する他のソリューション..各クライアントでTCPリスナーを開始します。クライアントは、リスニングしているポートをサーバーに送信します。**異なるポート**を別のマシン...またはあなたはサーバーからメッセージを取り出し、このユーザー/マシンのものかどうかをチェックし、ユーザーにメッセージをサーバーにプッシュします。 – Whiler
からIPを内部IPを使用していません内部ネットワークでは、それらを別々に処理しません。接続自体を別々に処理することはありません。私はあなたの(または彼の)ルータをチェックし、あなたが使用しているポートを開きます。
- 1. Javaの簡単な問題
- 2. jsonで簡単に印刷する方法簡単なJavaライブラリ
- 3. javaの簡単なニューラルネットワークのセットアップ
- 4. 基本的なMVC - 簡単なJavaプログラム
- 5. Javaデーモン用の簡単なinitスクリプト?
- 6. Javaパッケージの継承、簡単なクエリ
- 7. Javaユーザインタフェース:簡単な図表を追加
- 8. 簡単なJavaアプリケーションとADFS2を統合
- 9. 簡単なJavaコード、印刷する星
- 10. 簡単な数学演算子での奇妙なJavaエラー
- 11. 簡単なもの? C#で
- 12. 簡単なブレッドクラムバーサンプル
- 13. Javaコードを逆コンパイルするのはなぜ簡単ですか?
- 14. Javaでラッパークラスの型を取得する簡単な方法
- 15. 信じられないほど簡単なアンドロイドJavaの質問
- 16. 簡単なプログラムではStackOverflowError
- 17. 簡単でプログラマブルなデータプロッティング
- 18. 簡単なログインシステムPHPで
- 19. JavaでtoString()をオーバーライドする簡単な方法
- 20. Java SEアプリケーションで簡単なデータベースをまとめよう
- 21. Javaで紙に簡単なテキストを印刷する
- 22. Javaでjarを解凍する最も簡単な方法
- 23. Javaでデータベースメタデータを取得する最も簡単な方法は?
- 24. Javaで簡単な警告メッセージを表示するには?
- 25. 最も簡単なJavaマルチプレイヤーネットワークゲームは何ですか?
- 26. Javaで簡単に丸められないルーツ?
- 27. Javaで簡単なゲームをプログラミングするには
- 28. Java SEアプリケーションでデプロイする簡単なデータベース
- 29. 簡単なpythonプログラム
- 30. 簡単なナビゲーションは
サーバーはどこですか?あなたのネットワークの外か内部か? – Whiler
私のネットワーク –