1. ホーム
  2. sockets

[解決済み] クライアントソケットアプリケーションは、同じホストコンピュータ上のサーバーアプリケーションをどのように識別するのでしょうか

2022-02-05 23:05:21

質問事項

C++でソケットプログラミングを学ぼうとしていて、基本的なことはある程度できるようになりました。しかし、基礎が基礎でないことがよくわかりました。

その基礎のひとつが、タイトルにある質問についてです。例えば、同じコンピュータで2つの別々のアプリケーションが動作しているとします。そのうちの1つはサーバーソケットを持っていて、もう1つはクライアントを持っています。

サーバーが自動的にIPアドレスを取得した場合、クライアントはどのようにしてサーバーを見つけることができるのでしょうか?クライアントが知っているIPアドレスを割り当てる必要があるのでしょうか?その場合、もしかしたらそのIPアドレスはネットワーク上で利用できないかもしれません。

あるいは、クライアントは何らかの名前またはIDによってサーバーを見つけて接続することができますか?

どのように解決するのですか?

同じホストにあるサーバーのIPアドレスは、そのサーバーが特定の異なるIPアドレスにバインドされていない限り、127.0.0.1です。MartinJamesが指摘しているように、特定の壊れたLinuxディストリビューションを除いて、ホスト名として'localhost'を使用することができます。