java Telnet适用于本地主机,但不适用于原始IP地址
我在Mac笔记本电脑上运行一个socket,当我远程登录我电脑的IP地址时,它会说(出于安全原因,IP是隐藏的):
telnet 7-.---.--.--- 4005
Trying 7-.---.--.---...
telnet: connect to address 7-.---.--.---: Connection refused
telnet: Unable to connect to remote host
但是,当我在“localhost”上执行telnet时,它会说(没有隐藏任何信息,这是原始消息):
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
更新-已打开防火墙
现在,在打开所有端口后,localhost的工作方式仍然与以前相同,但是,当我尝试原始IP时,会出现以下新错误:
Trying 7-.---.--.---...
telnet: connect to address 7-.---.--.---: Operation timed out
telnet: Unable to connect to remote host
# 1 楼答案
可能是防火墙:通常本地主机不被禁止,但外部IP接口被禁止
# 2 楼答案
服务器仅侦听环回接口(
INADDR_LOOPBACK
),而不是所有接口(INADDR_ANY
),或者防火墙正在干扰连接