如果我只有SOCKET,我可以找到端口号吗?我正在挂钩ws2_32,似乎SOCKET正在尝试发送数据,但我没有关于此SOCKET的信息。我想知道是否还有来自SOCKET的sockaddr或端口?
我遇到了与UDP套接字类似的问题,但我通过从sockaddr获取端口号来修复它,当它即将发送数据并更新我的信息时。但问题是,除了SOCKET之外,我没有什么可以解决的。
程序正在使用端口0创建SOCKET,稍后它会将其分配给新端口。到那时,我的程序在套接字上的信息已经使用端口0设置,这是不正确的。所以,我需要找到一种方法...... A:根据SOCKET找到端口,或者B:当Windows更新端口时,我可以挂钩并更新端口。
答案 0 :(得分:3)
有两个功能完全符合您的要求:
getpeername
- 获取有关TCP连接另一端的信息getsockname
- 获取有关TCP和UDP