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