linux - 为什么我必须将第二个参数返回为 (struct sockaddr*)&ser_addr 而不是 &ser_addr?
问题描述
我正在做一个套接字编程,我很困惑。我发现系统调用 bind(),它的第二个参数是 const struct sockaddr* addr。显然,它是一个指针参数。
int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);
但是我发现示例程序是这样的
bind(lfd, (struct sockaddr*)&ser_addr, sizeof(ser_addr))
它将 (struct sockaddr*)&ser_addr 参数传递给绑定。我徘徊知道为什么。
解决方案
推荐阅读
- oracle - 用于 weblogic 的 Docker 映像与另一个用户/组创建外部卷
- soundcloud - 如何使用 SoundCloud API 搜索特定用户的曲目?
- apache-spark - 减少执行器核心的数量会消耗更少的执行器内存吗?
- c# - 未知的构建错误,'无法解析对程序集'System.Web,版本 = 2.0.0.0,文化 = 中性,PublicKeyToken = b03f5f7f11d50a3a 的依赖关系'
- reactjs - 将环境变量值注入到我的反应应用程序使用的 json 文件中
- java - 在 jsp 文件中的 Jquery Ajax POST 中获取 400 错误请求错误
- hibernate - 事务内的 JPA Hibernate 查询执行顺序
- node.js - 在 nodejs 应用程序中使用 elasticsearch 5.6 时出现“创建映射时出错”
- javascript - fullcalendar V4 day点击不触发
- python - 使用给定的搜索参数无法在页面上找到元素