我有一个在Windows中使用的DWORD socket。我需要知道它是连接到互联网还是本地连接,例如localhost。是否有一种好的方法可以仅通过socket获取连接的地址?或者有更好的方法来判断连接是否为本地连接?
您可能需要调用getpeername()函数。使用它非常基本,您只需传递一个sockaddr指针和一个长度,它就会为您填充数据。至于确定连接是否为本地连接,getaddrinfo()函数可以提供所有可用本地地址的列表。您可以将getpeername()的结果与本地地址列表进行比较。