Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Ubuntu 上运行 c++。我以这种方式打开套接字:
socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW))
在使用结束时我需要做什么?只要程序运行,就会使用一些套接字,我需要一段时间检查它们吗?看看socket是否还存在?
套接字一直存在,直到您调用close它的文件描述符。由于您有一个原始 IP 套接字,因此没有“活着”的概念。用完就关闭它。
close
正如其文档/手册页所说,socket() 返回一个打开的文件描述符,如果失败则返回 -1。这意味着您必须像关闭任何其他文件描述符一样关闭它:
close(sockfd);