我正在将我的iPhone应用程序连接到JBOSS服务器。当JBoss服务器关闭时,iPHone会在连接时超时。超时需要很长时间。有没有一种快速的方法来确定我的应用程序服务器是否停机。我认为可达性示例演示了服务器机器停机而不是应用程序服务器停机的情况。如能得到ANy的帮助或建议,将不胜感激。
发布于 2012-03-05 23:28:01
让我们概括一下问题,以便更容易地可视化问题及其解决方案。
假设您的应用程序是唯一连接到服务器的应用程序。当它发送一个查询时,它会得到一个响应。现在,您可以假设如果服务器正常,您应该能够在5秒内收到响应,但如果服务器宕机,您将永远不会收到响应。
这个假设将问题分解为两个变量,5和无穷大,但是您不想等到时间结束才能收到答案,因此您引入了一个超时值。假设是5分钟,现在你的变量是5秒和360秒。一切正常,但如果服务器关闭,您不想等待5分钟(360秒),但如果连接速度较慢,您确实想等待30秒或60秒。
你需要的是另一个服务,它每隔(5-360) /2秒监控一次你的服务器。现在,当您查询您的服务器时,您可以等待(5-360) /2秒,然后再向第三方服务发送一个快速查询,以检查您的服务器是启动还是关闭。
这样,您可以将查询超时减少(5-360) /2+第三方回答您的查询所需的时间。
发布于 2012-03-08 07:17:56
有关如何创建NSURLRequest的文档,请参阅文档:https://developer.apple.com/library/mac/ipad/#documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html
您可以使用requestWithUrl:cachePolicy:timeoutInterval指定超时:
https://stackoverflow.com/questions/9568331
复制相似问题