c - bind() 是否修改 C 中的 sin_port?
问题描述
linux中的bind()
函数可以修改它的参数吗?我问这个是因为 asin_port
为 0 意味着操作系统将选择端口,我想在这个调用之后得到这个端口。
解决方案
不,它不会修改论点。相反,您使用getsockname
after binding 来找出您获得的端口。
您还可以使用getsockname
afterconnect
来获取本地端口分配和与到远程主机的路由相对应的本地地址(如果您有多个地址)。这甚至适用于connect
实际上不发送任何数据包而仅在逻辑上绑定地址的 UDP。
推荐阅读
- java - 当我删除字段时,Firestore EventListener 导致 Null 异常
- java - 如何从不同的位置导入包?
- javascript - React - 条件渲染(来自多个数组的迭代)
- c - 在不同环境下运行C程序时出现段错误
- python - 无法使用 Pyads 建立路由(Python 和 TwinCAT 3)
- python-2.7 - 在python中按位转移到正确的问题
- android - 我的 sqLite 光标在循环结束时运行并生成 CursorIndexOutOfBoundsException
- aws-appsync - 如何判断哪个 API 正在使用我的解析器模板?
- css - 为什么当我使用背景时: url() 我的图像从不显示?
- function - 如何根据特定列中的值更改函数