ソケットに結び付けられたアドレスを取得する
※Linuxです。
netstat
したときのLocal AddressとForeign AddressにあたるものをC/C++で取得したかった。
Local Addressはgetsockname()
、Foreign Addressはgetpeername()
を使えば取得できるらしい。
C++でサンプルを書くと以下のような感じ。
gist6c0628fe0ad9790fe7a1fbc5cba9b13c
vagrant@vagrant-ubuntu-trusty-64:~$ ./a.out 192.168.0.2 2551 Local Address: 192.168.0.1:46402 Foreign Address: 192.168.0.2:2551
ちゃんと取得できてますね!(↑のサンプルコードを使うときは対応するアドレスをlistenしてください)