我正在尝试使用python连接设备。 设备连接到同一网络(大学网络)中的另一台计算机,我知道它的端口号。
我可以使用以下代码从插入PC的设备访问设备:
dev = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
dev.connect(('137.195.53.140',51019))
其中'137.195.53.140'是PC ip,51019是端口号。
但是,如果我在另一台机器上尝试相同的操作,ipython会在命令“dev.connect(('137.195.53.140',51019))”中获取堆栈,当我中止评估然后查看“dev”时我明白了:
<socket.socket fd=15, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('137.195.204.85', 50393)>
其中'137.195.204.85'是我正在使用的机器的IP,端口号我不知道。
由于ssh在这个网络中没有问题,我认为我访问设备的方法也可以。
有没有人对此有任何线索?如果我不清楚,我很抱歉,但我完全不知道网络(而且不是很多Python)。
答案 0 :(得分:0)
有几件事需要考虑:
您的网络可能阻止51019
端口。此外,ssh使用端口22进行连接。每个港口都是一个世界,所以有可能只因为22是开放的,它并不意味着另一个是。学校网络通常对端口关闭安全性和阻止不需要的网站采取相当严格的策略。
您可以通过将其命名为
来测试您的设备访问权限 $ ping 137.195.204.85
如果可行,那么您可以尝试不同的端口