如果我只有SOCKET,我可以找到端口号吗?

问题描述:

我能找到的端口号,如果我只有SOCKET?我挂钩了ws2_32调用,它看起来像一个SOCKET试图发送数据,但我没有关于此SOCKET的信息。我想知道是否有任何方法获取sockaddr或从SOCKET端口?如果我只有SOCKET,我可以找到端口号吗?

我跑进一个UDP套接字类似的问题,但我从SOCKADDR刚开的端口号,当它正要发送数据,并更新了我关于它的信息固定它。但问题是,除了SOCKET之外,我没有任何可以解决的问题。

该方案是一种制造插座,端口0,后来就其它分配给一个新的端口。到时候,我的程序在套接字上的信息已经使用端口0来设置,这是不正确的。所以,我需要找到一种方法,要么...答:根据查找的插座或B端口:当Windows更新端口,我可以钩住和更新的端口。

有你想要的是什么了两个功能:

  1. getpeername - 获取有关TCP连接
  2. getsockname的另一端的相关信息 - 获取套接字(本地端)的信息TCP和UDP
+0

哇,非常感谢。 :-) – null 2012-03-17 07:54:58

+0

我刚刚做到了:-)! – null 2012-03-17 08:10:30

+0

谢谢主席先生,我只是upvoted回报:) – sirgeorge 2012-03-17 08:11:34