java - 从套接字打印到视频 IP 地址

标签 java android sockets ip ip-address

我希望我可以创建一个小应用程序,在屏幕上打印套接字所连接的 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/

相关文章:

java - 将列表中的 Arraylist 与同一列表中的其他 Arraylist 进行比较

java - SWIG (Java) : How do I pass a struct with callback functions to C++ from an Android application?

android - API 19 上可绘制的 XML 向量的资源 $NotFoundException

sockets - Modbus TCP/IP 设备通信问题

java - 处理 MVVM 架构中的输入和 Firebase 错误

java - Hibernate 中的分布式查询缓存

java - 如何使用 SQL WHERE 子句搜索包含单引号的字符串

未检测到标题栏中的android向上按钮按下

c++ - gSOAP 不会**不**关闭套接字?

php - 如何加密非阻塞 PHP 套接字流?