我希望我能创建一个小应用程序,我打印屏幕上连接套接字的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。 我哪里做错了?谢谢!
答案 0 :(得分:1)
ulyssessPax:
当您connect
/ accept
通过TCP套接字进出设备时,您可以从该套接字获得以下方法:
socket.getRemoteSocketAddress().toString()
它为您提供远程IP地址和连接的端口号。例如:192.168.1.30:6000
socket.getLocalSocketAddress()
它为您提供本地IP地址和建立连接的端口号。例如:10.0.2.15:54441
希望这是你正在寻找的。 p>