当前位置: 首页> 汽车> 报价 > 建设通会员多少钱一个月_私人影吧服务器_如何让自己的网站快速被百度收录_小网站广告投放

建设通会员多少钱一个月_私人影吧服务器_如何让自己的网站快速被百度收录_小网站广告投放

时间:2025/7/13 4:21:18来源:https://blog.csdn.net/kitesxian/article/details/144169968 浏览次数: 0次
建设通会员多少钱一个月_私人影吧服务器_如何让自己的网站快速被百度收录_小网站广告投放

背景:我们要讲述的是网络编程中常用的两个API:

       #include <unistd.h>

       int close(int fd);

       #include <sys/socket.h>

       int shutdown(int sockfd, int how);

以及TCP的半连接,半打开。


shutdown函数的行为依赖第二个参数区分:

SHUT_RD :reception(接受)的disallow(拒绝),也就是第一个参数的文件描述符的接受数据被阻止。
SHUT_WR :transmissions(传播,发送)的disallow,也就是发送被阻止。
SHUT_RDWR :兼而有之。
具体实现都是从内核层面执行。

close是关闭掉对应的文件描述符并释放与描述符相关的资源,收不了也接不了。

注意,shutdown并不会关闭掉对应的文件描述符并释放与描述符相关的资源,只是对于功能进行内核层面阻止。
也就是说:shutdown() 提供了更细粒度(你可以关闭部分或者全关闭)的控制,而 close() 完全关闭套接字并释放资源。前者允许你在不关闭套接字的情况下,停止某个方向的数据传输。例如,你可以通过 SHUT_WR 选项来从内核层面停止该sockfd的发送数据能力,但仍然允许接收数据。即即shutdown() 适用于在应用层控制连接的关闭行为时使用。
另外如果还需要深入理解close and shutdown,详见:https://stackoverflow.com/questions/4160347/close-vs-shutdown-socket/23483487#23483487


TCP 的半连接是指在 TCP 三次握手过程中发生的一种状态。当主机 A 向主机 B 发起连接请求时,B 响应了这个请求,但 A 并没有完成第三次握手,这种情况被称为半连接。

与此相关的概念是半连接攻击,也称为 SYN 攻击。在这种攻击中,攻击者不断发送连接请求,但不完成后续的握手过程,导致主机 B 分配的内存资源被长期占用,最终可能导致资源耗尽。


TCP的半打开?

半打开:两方建立TCP连接,然后一方关闭,而另一方并不知情,这样的连接称之为半打开连接。处于半打开的连接,如果双方不进行数据通信,确实发现不了问题,仍处于连接状态的一方不会检测另外一方已经出现异常。怎么解决?
心跳机制,具体使用定时器实现,比如让服务器每隔一段时间发送报文请求回复。当主机收到这个包后,因为本地应用程序已经关闭了它的套接字,所以主机此时会给服务端回复一个RST包:报文中没有负载且TCP头部标志中的RST位被设置的一个数据包。

关键字:建设通会员多少钱一个月_私人影吧服务器_如何让自己的网站快速被百度收录_小网站广告投放

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: