家庭自动化程序“无法分配请求的地址”,但仅当通过 Raspberry Pi 上的 VNC 运行时

家庭自动化程序“无法分配请求的地址”,但仅当通过 Raspberry Pi 上的 VNC 运行时

我正在尝试连接到程序通过 VNC,它会扫描 LAN 中是否有连接到我的散热器阀门的“Cube”(MAX eQ-3)。

程序给出错误“[99]绑定套接字时无法分配请求的地址”。

当我在笔记本电脑上运行该程序时,没有任何问题,一切正常。

因此,只有通过 VNC 连接时才会出现错误。

我在 Raspberry Pi 2 上运行tightvncserver,参数如下:

/usr/bin/tightvncserver :1 -geometry 1024x600 -depth 24 -dpi 96* 

我不知道如何解决这个问题......

错误信息图片


这是执行 max_home_automation 之前的输出:

pi@HomeBox2:~/vnc-server $ sudo netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      1000       36997      7448/Xtightvnc      
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      1000       36995      7448/Xtightvnc      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          8339       366/sshd            
tcp6       0      0 :::8080                 :::*                    LISTEN      0          9866       367/domoticz        
tcp6       0      0 :::22                   :::*                    LISTEN      0          8341       366/sshd            
tcp6       0      0 :::6144                 :::*                    LISTEN      0          9868       367/domoticz        
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          5855       405/dhcpcd          
udp        0      0 192.168.1.120:123       0.0.0.0:*                           106        5947       391/ntpd            
udp        0      0 127.0.0.1:123           0.0.0.0:*                           0          8319       391/ntpd            
udp        0      0 0.0.0.0:123             0.0.0.0:*                           0          8306       391/ntpd            
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           105        6915       266/avahi-daemon: r 
udp        0      0 0.0.0.0:40423           0.0.0.0:*                           105        6917       266/avahi-daemon: r 
udp6       0      0 fe80::63a3:60e5:29b:123 :::*                                106        5901       391/ntpd            
udp6       0      0 ::1:123                 :::*                                0          8321       391/ntpd            
udp6       0      0 :::123                  :::*                                0          8303       391/ntpd            
udp6       0      0 :::36032                :::*                                105        6918       266/avahi-daemon: r 
udp6       0      0 :::5353                 :::*                                105        6916       266/avahi-daemon: r 

执行后在这里:

pi@HomeBox2:~/vnc-server $ sudo netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      1000       36997      7448/Xtightvnc      
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      1000       64705      13932/max_home_auto 
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      1000       36995      7448/Xtightvnc      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          8339       366/sshd            
tcp6       0      0 :::8080                 :::*                    LISTEN      0          9866       367/domoticz        
tcp6       0      0 :::22                   :::*                    LISTEN      0          8341       366/sshd            
tcp6       0      0 :::6144                 :::*                    LISTEN      0          9868       367/domoticz        
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          5855       405/dhcpcd          
udp        0      0 192.168.1.120:123       0.0.0.0:*                           106        5947       391/ntpd            
udp        0      0 127.0.0.1:123           0.0.0.0:*                           0          8319       391/ntpd            
udp        0      0 0.0.0.0:123             0.0.0.0:*                           0          8306       391/ntpd            
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           105        6915       266/avahi-daemon: r 
udp        0      0 0.0.0.0:40423           0.0.0.0:*                           105        6917       266/avahi-daemon: r 
udp6       0      0 fe80::63a3:60e5:29b:123 :::*                                106        5901       391/ntpd            
udp6       0      0 ::1:123                 :::*                                0          8321       391/ntpd            
udp6       0      0 :::123                  :::*                                0          8303       391/ntpd            
udp6       0      0 :::36032                :::*                                105        6918       266/avahi-daemon: r 
udp6       0      0 :::5353                 :::*                                105        6916       266/avahi-daemon: r 

这没有任何回报:

pi@HomeBox2:~/vnc-server $ sudo netstat -ulpen | awk '$1 !~ /^udp/ {print}; $4 ~ /:23272$/ {print}'
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    

答案1

“最大!”软件使用端口 23272 上的 UDP 多播来发现本地网段中的“Cube”(从他们的文档de.eq3.max.al.local.finder.CubeFinder(德语)以及来自 Java 的类的反编译代码软件)。

您看到的错误表明该程序无法绑定到该端口,因此其他程序似乎正在使用它(不同的程序或同一程序的另一个实例)。

要检查哪个进程正在使用端口 23272,请运行

netstat -ulpen | awk '$1 !~ /^udp/ {print}; $4 ~ /:23272$/ {print}'

在程序失败的 Raspberry Pi 上。
要查看所有进程名称和 PID,您可能需要以 root 权限运行它。

此外,您还可以启动“MAX!”从终端(而不是桌面/菜单快捷方式)打开软件以查看它可能打印到的任何信息stdout

相关内容