ブラウザーからの HTTP 要求を受け入れて応答を返す C++ アプリケーションを作成しています。
int port = 2127; //80;
int bind_res = ::bind(port, p_ref->ai_addr, p_ref->ai_addrlen);
ポート 2127 でリッスンするように設定すると、アプリケーションは OSX で期待どおりに動作します。しかし、ポート 80 でリッスンするように設定すると、アプリケーションは例外で動作を停止しました。
サーバー: バインド: 権限が拒否されました
私のアプリケーションはコマンド ライン アプリケーションであり、これも C++ で記述されているが Qt を使用している他の GUI アプリケーションによって開かれました。
ポート 80 にバインドするのに十分な特権を取得するにはどうすればよいですか? たとえば、XAMPPコントロールパネルのように、ユーザーとパスワードのプロンプトを表示してそれらの権限を取得するAPIはありますか?
編集: OSX 10.8 Mountain Lion で実行するアプリを作成します。