1.getpeername

该函数用于获得通信方的套接字地址信息,该信息是关于已建立连接的那个套接字的。

 
  
  1. int getpeername( 
  2.   SOCKET s,//准备连接的套接字 
  3.   struct sockaddr FAR* name, 
  4.   int FAR* namelen 
  5. ); 
  6. //对数据报套接字来说,这个函数返回的是传递到连接调用的那个地址; 
  7. //但不会返回连接到sendto或WSASendTo调用的那个地址 

2.getsockname

该函数是对应getpeername函数,它返回的是给定套接字的本地接口的地址信息

 
  
  1. int getsockname( 
  2.   SOCKET s, 
  3.   struct sockaddr FAR* name, 
  4.   int FAR* namelen 
  5. ); 

3.WSADuplicateSocket

WSADuplicateSocket用来建立WSAPROTOCOL_INFO结构,该结构可传递到另一个进程。这样就可以用另一个进程打开指向同一个下层套接字的句柄。如此一来,这个进程也能对该资源进行操作。注意,这一点只在进程之间的操作才有必要;同一进程中的线程可自由传递套接字描述符。

 
  
  1. int WSADuplicateSocket( 
  2.   SOCKET s,//准备复制的套接字句柄 
  3.   DWORD dwProcessID,//打算使用所复制的套接字的进程ID 
  4.   LPWSAPROTOCOL_INFO lpProtocolInfo//目标进程打开所复制句柄所需的信息 
  5. );