欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

Linux socket accept尽信书不如无书

发布时间:2023/12/8 linux 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux socket accept尽信书不如无书 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

关于Linux socket 里面的   int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen)函数,很多书籍都把第三个参数搞错,以为第三个参数用来用来返回addr的类型,所以传个指针进去,却是表面上很像。一般情况下addrlen所指向的地址要是没有初始化(不是addrlen没有初始化,就像socklen_t a;sockelen_t addrlen=&a)都不会出现问题,但是要是你不幸运addrlen所指向的地址里存储的值是负数,那就会出现奇怪的现象,那样真的会很痛苦。所以切记什么事情都不要想当然,要是函数有返回值的,一定要通过返回值来判断函数是否执行成功。下面再贴出Linux 官方关于accept的用法

   The addrlen argument is a value-result argument: the caller  must  ini‐
       tialize  it  to contain the size (in bytes) of the structure pointed to
       by addr; on return it will contain the actual size of the peer address.

 尽信书不如无书

总结

以上是生活随笔为你收集整理的Linux socket accept尽信书不如无书的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。