2009-07-15 88 views
5

我在Windows中擁有DWORD套接字。我需要知道它是否連接到互聯網,或者是否是本地連接,以及某種形式的本地主機。有沒有一種很好的方法從套接字獲取套接字在windows中的連接地址?或者有更好的方法來判斷連接是否是本地連接?如何從套接字獲取IP地址在Windows中

+0

你必須小心使用IPv6。你很可能沒有自己創建套接字(否則你可能記得它連接的是什麼),所以你可能正在處理在別處創建的一些套接字。由於這不在你的控制範圍內,它可能會使用IPv6。 – MSalters 2009-07-15 11:43:20

回答

5

您可能要撥打getpeername()。使用它是非常基本的,你通過一個sockaddr指針和一個長度,它會爲你填充數據。

至於確定連接是否爲本地,getaddrinfo()可以給你一個所有可用本地地址的列表。您會將getpeername()的結果與本地地址列表進行比較。

相關問題