我希望我可以创建一个小应用程序,在屏幕上打印套接字所连接的 IP 地址。
我正在尝试这段代码:
public void onClick(View v) {
Socket s = new Socket();
String host ="10.10.20.xxxx";
try {
s.connect( new InetSocketAddress( host, 6000 ), 1000 );
InetAddress inetAddress = s.getLocalAddress();
String ip = inetAddress.getHostAddress();
//Now, I would like to have printed out the IP-address
Toast.makeText(getBaseContext(), ip , Toast.LENGTH_SHORT).show();
//But nothing happens
} catch (IOException e) {
e.printStackTrace();
}
}
}
但是,我从来没有见过打印的IP地址, 如果有必要,我可以创建一个 TextView 并在里面放置字符串 ip。 我哪里做错了?谢谢!
最佳答案
ulyssessPax:
当您通过 TCP 套接字连接
/接受
到设备时,您可以从该套接字获得以下方法:
socket.getRemoteSocketAddress().toString()
它为您提供远程 IP 地址和连接的端口号。例如:192.168.1.30:6000
socket.getLocalSocketAddress()
它为您提供本地 IP 地址和建立连接的端口号。例如:10.0.2.15:54471
希望这就是您正在寻找的内容。
关于java - 从套接字打印到视频 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22150866/