私はクライアントとサーバーの両方からメッセージを送信できるサーバー側とクライアント側の両方のプログラムを作成しました。ローカルで動作します。クライアント端末./client "message"
とmessage
がサーバ端末に表示されます。だからすべてうまく動作します。 OK、今私はそれを "オンライン"にしたい、つまり、私はvirtualboxでエミュレートされた2台のdebianマシン間でメッセージを送信したいということです。何をすべきか?私はそれが正しいものにIPアドレスを調整することが重要だと思います。 Atm私は、クライアントコードで127.0.0.1
LOCALHOSTを使用しています。クライアントでは、私はサーバーのIPを置く必要がありますか?つまり、サーバは静的IPを必要としますか?クライアントサーバーソケットCとの基本的な通信
答えて
サーバーIPを使用する必要があります。静的でない場合は変更できます。また、ポート番号と、接続の両端に開いているかどうかを考慮する必要があります。それ以外の場合、ネットワークはクライアントとの間で流れるトラフィックを停止します。あなたが必要な場合は、複数のマシン上でそれを使用して、あなたのことができますこの方法で静的IPが最高になりますが、あなたはまた、ユーザがコマンドでIPアドレスを入力することができ考えるかもしれません、例えば
./ client "message" -ip="192.168.0.1:25534"
彼らはそれを入力するだけでIPの変化に対応することができます。
ヒントをありがとう、実際には私が意図したように動作します。あなたのヒントは、さらなる機能を開発するのに役立ちます。どうもありがとう! – ducajack
クライアントの変更:
設定可能なサーバーのIPとポート。これは、コマンドラインパラメータ、環境変数、または設定ファイルを使用して実行できます。ターゲットOSがMS Windowsの場合は、レジストリ設定を使用して実行することもできます。
サーバーの変更:あなたは、固定IPまたはINADDR_ANY
のいずれかを指定する必要がありますアドレスへ
あなたはbind
サーバソケット。 127.0.0.1
にバインドすると、サーバーは同じマシンからの接続のみを受け入れます。 INADDR_ANY
は、ソケットをサーバのすべてのIPアドレスにバインドします(複数の場合があります)。 また、ポート番号を設定可能にする必要があります。
別のネットからサーバ仮想マシンにアクセスするにはどうすればいいですか?サーバのIPは '10.0.2.20'ですが、私はvirtualbox Nat Networkと考えています。どのIPをクライアントコードに書かなければならないのですか?どうすれば見つけることができますか? – ducajack
@ducajack私はあなたの仮想マシンへのホストマシン上でIPトンネルを作ることができると思います。リモートクライアントは、IPアドレスを使用してホスト上のポートに接続し、トンネルはIPパケットを仮想サーバーに転送します。 –
- 1. 基本的なMVCパターンの通信
- 2. クライアントサーバーソケットC#
- 3. htmlとnode.jsの間の通信(基本)
- 4. 基本的なC++再帰
- 5. PHPの基本的な通知システム
- 6. 基本的にC
- 7. [C位】基本的
- 8. 基本的な目的C文法
- 9. C++のテストケースの基本的なstring-diff
- 10. C++の基本的なコーディングの問題
- 11. asp.netトランザクションエラー、基本トランザクションマネージャの通信エラー
- 12. 慣れない基本的なC++コード
- 13. C++の基本的な多態性
- 14. 基本的なキャスティングの質問(C#)
- 15. 基本的なCプログラムのスタック操作
- 16. C++の基本的な継承
- 17. 基本的なCプログラミングの質問
- 18. C - 基本的なポインタの質問
- 19. 基本的な目的Cプロパティの定義と合成
- 20. 基本的なUIMAとSOLR
- 21. 基本的なjQueryとRails
- 22. 基本的なサイトレイアウトとナビゲーション
- 23. 基本的なObjective-C配列 'for'ループアシスタント
- 24. 非常に基本的なC関数
- 25. 基本的なC配列関数
- 26. 基本的なCの入力と出力に必要なヘルプ
- 27. 基本的なPHPコードの基本的なエラーHALP
- 28. 基本的なシェルプログラミング
- 29. 基本的なクロスブラウザースタイルシートテンプレート
- 30. 基本的なスレッド
あなたの具体的な問題は何ですか? – Stargateur