我正在编写一个接受来自浏览器的 HTTP 请求并发回响应的 C++ 应用程序。
int port = 2127; //80;
int bind_res = ::bind(port, p_ref->ai_addr, p_ref->ai_addrlen);
当我将应用程序设置为侦听端口 2127 时,该应用程序在 OSX 上按预期工作。但是当我将其设置为侦听端口 80 时,应用程序停止工作并出现异常:
服务器:绑定:权限被拒绝
我的应用程序是一个命令行应用程序,它由其他 GUI 应用程序打开,也是用 C++ 编写的,但使用 Qt。
如何获得足够的权限来绑定到端口 80?是否有任何 API 来显示用户和密码提示 - 例如在 XAMPP 控制面板中 - 以获得这些权限?
编辑:我编写了在 OSX 10.8 Mountain Lion 上运行的应用程序。