我正在通过 HTTP 连接将数据从 Android Mobile 发布到服务器。我能够将数据发布到服务器并得到服务器的确认。但是有时,如果我的服务器通信线程在发布数据后等待来自服务器的确认,那么我失去了 Internet 连接并且线程无法从服务器接收 Ack 并进入无限循环。我尝试了 setReadTimeOut(180000) 方法。
它可以为我工作吗?如果没有网络可用/服务器和移动设备之间没有连接,它是否会给出 SocketTimeOutException
我正在通过 HTTP 连接将数据从 Android Mobile 发布到服务器。我能够将数据发布到服务器并得到服务器的确认。但是有时,如果我的服务器通信线程在发布数据后等待来自服务器的确认,那么我失去了 Internet 连接并且线程无法从服务器接收 Ack 并进入无限循环。我尝试了 setReadTimeOut(180000) 方法。
它可以为我工作吗?如果没有网络可用/服务器和移动设备之间没有连接,它是否会给出 SocketTimeOutException
设置超时很可能会起作用。但是,我不建议将其设置为 180000(= 180 秒 = 3 分钟!)。30 秒通常绰绰有余。您可能还想添加一个setConnectTimeout
请注意,在某些情况下 HttpUrlConnection 并不总是正常工作: