将套接字绑定到ansi c中的端口80

Nin*_*ino 8 c sockets networking webserver

当我尝试将端口80绑定到c中的套接字时,我总是得到错误,我没有权限使用此端口.是否有一个简单的方法来获得此权限?

CB *_*ley 17

通常只有超级用户(root)才能绑定到"特权"端口(即1024以下的端口号).

这意味着您必须以root身份运行程序或将可执行文件设置为"suid root".

这两者都有安全性后果,因此您可能需要考虑使用suid方法并在完成绑定调用后放弃超级用户权限.


Eli*_*sky 5

您会发现本教程对于使用 C/C++ 进行网络编程非常有帮助。

而且,顺便说一下,ANSI C没有办法访问网络。操作系统提供的库(BSD 套接字 API,也作为 移植到 Windows winsock)提供了此功能。