iriunwebcam ( https://iriun.com ) 在另一个 VMware 虚拟机上的 Ubuntu 20.04 LTS 和 Ubuntu 20.04 beta 上运行良好,但在真正的 PC 上仍然无法运行。它也可以在另一台虚拟机上的 Ubuntu 19.10 中正常工作。此外,我已经确认它可以在另一个虚拟机上的 Fedora 31 中运行。
以下是lsof -i
从智能手机应用程序连接之前和之后的结果。
在虚拟机上(20.04、19.10、Fedora 31)
(1) 在从 sp 连接之前:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME iriunwebc 2553 htakenaka 14u IPv4 60002 0t0 UDP *:4698 iriunwebc 2553 htakenaka 15u IPv6 60005 0t0 UDP *:4698 adb 2572 htakenaka 6u IPv4 55976 0t0 TCP localhost:5037 (LISTEN) adb 2572 htakenaka 14u IPv4 55962 0t0 UDP *:4698 adb 2572 htakenaka 15u IPv6 55966 0t0 UDP *:4698
(2) 从 sp 连接后:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME iriunwebc 2078 htakenaka 22u IPv4 73587 0t0 TCP Ubuntu1910-vmw:39256->192.168.79.201:4699 (ESTABLISHED) adb 2098 htakenaka 6u IPv4 56531 0t0 TCP localhost:5037 (LISTEN) adb 2098 htakenaka 20u IPv4 56514 0t0 UDP *:4698 adb 2098 htakenaka 21u IPv6 56518 0t0 UDP *:4698
在真实的 PC 上
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME adb 117743 hiro 7u IPv4 1420502 0t0 TCP localhost:5037 (LISTEN)
从上面的结果 iriunwebcam 监听 4698/udp 端口来寻找一个可用的智能手机,一旦连接建立,端口就会关闭,并从一个高端口建立一个 tcp 连接到智能手机的 4699/tcp。
真机上的问题是4698/udp端口打不开,而5037/tcp端口在虚拟机和真机上都可以打开。
4698/udp 和 5037/tcp 在虚拟机和真机上的防火墙中都打开了。当然,如果它们被关闭,iriunwebcam 智能手机应用程序将无法连接到 PC 应用程序。但是,即使端口关闭,PC 应用也会打开端口。
我想知道为什么它无法在真机上打开 4698/udp 端口。
以下是我的环境。
主机(真正的 PC):iMac 2011 年末(Core i3,16GB RAM)
VMware Workstation 15.5.2 用于虚拟机。
虚拟机通过主机桥接到 LAN。
我没有将 NAT 用于虚拟机网络接口。
我试过使用 iriunwebcam (https://iriun.com)。起初,我将它安装在 VMware 虚拟机上的 Ubuntu 20.04 beta 中,并且成功运行。然后我将它安装在一台真正的 PC 上的 Ubuntu 20.04 LTS 中,但是它不起作用。应用程序本身成功启动,但无法从智能手机应用程序中找到连接。
lsof -i
显示 iriunwebcam 在 20.04 beta 中可以打开 4698/udp,但在 LTS 中不能。iriunwebcam 似乎使用该端口接收来自智能手机应用程序的连接。
我想知道为什么它无法在 20.04 中打开端口。关于套接字连接或其他东西,从 beta 到 LTS 有什么变化吗?