【问题标题】:Any C (Unix/Linux) equivalent for Java socket.getLocalAddress().getHostAddress() [duplicate]Java socket.getLocalAddress().getHostAddress() 的任何 C (Unix/Linux) 等效项 [重复]
【发布时间】:2012-01-02 23:43:06
【问题描述】:

可能重复:
Linux / C++: Get the IP Address of local computer

我正在移植一个用 java 制作的软件,并且需要套接字的本地地址。 我正在寻找这些行的等价物:

    Socket socket;
    ...
    InetAddress internal = socket.getLocalAddress();
    String localIp = internal.getHostAddress();

【问题讨论】:

  • 我想我的问题是有一个重复。

标签: java c sockets unix


【解决方案1】:

您要查找的函数是getsocknameinet_ntop

【讨论】:

  • code struct sockaddr_in addr; size_t addr_len = sizeof(addr); if (getsockname(socketfd, (struct sockaddr *) &addr, (socklen_t *) &addr_len) code
【解决方案2】:

也许是getpeernamegetsockname

【讨论】:

  • 作为旁注,getpeername 获取 peer 的地址,即远程端点。 getsockname 获取本地端点的地址。
猜你喜欢
  • 1970-01-01
  • 2015-12-15
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2012-05-04
  • 2012-02-28
  • 2017-04-04
相关资源
最近更新 更多