Android 如何使用套接字方法?
我是Android编程的初学者。我想用这个方法:Android 如何使用套接字方法?,android,sockets,methods,textview,ip-address,Android,Sockets,Methods,Textview,Ip Address,我是Android编程的初学者。我想用这个方法: Socket socket; socket.getInetAddress() ; 我想在文本视图中打印我连接的IP地址。 这可能吗?我该怎么做 谢谢 我试过了,但没用 public void onClick(View v) { Socket s = new Socket(); String host ="10.10.20.xxxx"; try { s.connect( new InetSocketAddress( host
Socket socket;
socket.getInetAddress() ;
我想在文本视图中打印我连接的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();
}
}
}
要获取套接字连接到的主机的地址,应使用而不是getLocalAddress()
。因此,您的代码可能如下所示:
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.getInetAddress(); // <---- Here!
String ip = inetAddress.getHostAddress();
Toast.makeText(getBaseContext(), ip , Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
public void onClick(视图v){
套接字s=新套接字();
字符串host=“10.10.20.xxxx”;
试一试{
s、 连接(新的InetSocketAddress(主机,6000),1000);
InetAddress InetAddress=s.getInetAddress();//您能告诉我们您已经尝试了什么吗?感谢Philippe的编辑,我更新了我的问题。您能让一条常规的Toast
消息出现吗?始终先尝试最简单的方法,然后根据结果进行构建。例如,首先尝试打印“Hello!”在土司中
。如果这样做有效,那么继续使用套接字
之类的东西。我在下面给出了答案,但我不明白您为什么要这样做,因为看起来您已经知道要连接的服务器的地址。(字符串主机=…
)。现在,请尝试此解决方案,谢谢!您可能会遇到异常,但没有看到它(因为出现了try…catch
)。请尝试将Toast.makeText(getBaseContext(),“ERROR”,Toast.LENGTH_SHORT)。show();
添加到catch
,以帮助您调试此问题。