gpt4 book ai didi

android - 套接字连接到 8443 可以但不能连接到 443?

转载 作者:行者123 更新时间:2023-11-28 23:06:52 25 4
gpt4 key购买 nike

我在 android 上做了一些套接字编程(注意我说的是套接字,而不是 HttpClient 或 HttpUrlConnection),我遇到了一个非常奇怪的问题,我无法在端口 443 上连接到我的 tomcat 服务器,但是8443 没问题。我的代码非常简单,仅此而已:

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try{
Socket s = new Socket();
InetSocketAddress addr = new InetSocketAddress("10.1.1.1", 443);
s.setKeepAlive(true);
s.setSoTimeout(300000);
s.connect(addr);
}catch{<my catch statement>}
}

就是这样。我将程序推送到我的设备并启动它,但它总是抛出 SocketException: Operation Timed Out 错误。但是,如果我将服务器端和代码端的端口都切换为 8443,我的设备可以正常连接。我只是更改 server.xml 文件中的数字。

还有一些有趣的事情需要注意,如果我在我的计算机上的模拟器中运行完全相同的东西,它工作得很好。我还在设备和我的计算机之间的连接上运行了 wireshark,看起来它一直在返回 ICMP Destination Unreachable: Destination Port Unreachable。当我可以从我的设备 ping 通它时,这怎么可能?

我想看看这是否更适合服务器故障,但从那里的常见问题解答来看,它似乎更适合专业而不是个人服务器问题。有谁知道为什么 Android 设备无法连接到我的服务器上的某些端口,而我的模拟器可以?为什么切换到 8443 突然允许连接工作?

最佳答案

您的 Android 设备和服务器之间是否存在您的桌面(模拟器)和服务器之间不存在的防火墙?

关于android - 套接字连接到 8443 可以但不能连接到 443?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com