获取IP地址并将其放入socket -java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取IP地址并将其放入socket -java相关的知识,希望对你有一定的参考价值。

InetAddress ipAddr;

我在这里尝试做的是我需要获取IP地址然后将其放入套接字

 public class L implements ActionListener{
  public void actionPerformed(final ActionEvent e){
      try {   
            s = new Socket(ipAddr.getHostAddress(), 6111);

            DataOutputStream dout = new DataOutputStream(s.getOutputStream());
            dout.writeUTF("L");
            dout.writeUTF(" ");
      } catch (IOException ex) {
         ex.printStackTrace();  
      }

  }
}

我有这个错误信息

线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException

答案

您收到此错误是因为您尝试在空引用上调用方法。在使用ipAddr调用本回答后面描述的方法之前,需要初始化s = new Socket(ipAddr.getHostAddress(), 6111); // your code doesn't initialise ipAddr.

    String url = "localhost";
    byte addr[] = {127, 0, 0, 1};  // loopback address
    InetAddress ip1 =  InetAddress.getByName(url);
    InetAddress ip2 =  InetAddress.getByAddress(addr);
    InetAddress ip3 =  InetAddress.getLocalHost();
    // proceed with your sample code by using any of these InetAddress references

目前,从您的问题中不清楚您想要哪个IPAddress。所以,我假设您正在寻找系统的环回地址(默认)。初始化InetAddress有几个选项,如下所示:

qazxswpoi

以上是关于获取IP地址并将其放入socket -java的主要内容,如果未能解决你的问题,请参考以下文章

powershell (PowerShell)请求静态IP配置并将其放入文本文件中

使用 Afnetworking 获取 UIImageView 并将其放入数组中

Odoo - 遍历字段,获取值并将它们放入新字段

如何获取 boost::asio::ip::tcp::socket 的 IP 地址?

php 如何获取 客户端http header

使用循环从 plist 的根级别获取字典数组并将其放入变量中