Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift NSURLRequest超时,而不连接到服务器_Swift_Nsurlconnection_Nsurl_Nsurlrequest - Fatal编程技术网

Swift NSURLRequest超时,而不连接到服务器

Swift NSURLRequest超时,而不连接到服务器,swift,nsurlconnection,nsurl,nsurlrequest,Swift,Nsurlconnection,Nsurl,Nsurlrequest,我有一个用swift编写的应用程序,它使用PHP与我的服务器通信。在我的整个测试过程中,该应用程序一直运行良好,直到我开始同时在多台设备上进行测试。当我尝试同时加载两个设备时,它会偶尔(不是100%)创建此超时: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo= {NSUnderlyingError=0x127ea9fb0 {Error Domain=kCFErrorDomainCFNetwor

我有一个用swift编写的应用程序,它使用PHP与我的服务器通信。在我的整个测试过程中,该应用程序一直运行良好,直到我开始同时在多台设备上进行测试。当我尝试同时加载两个设备时,它会偶尔(不是100%)创建此超时:

Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=
{NSUnderlyingError=0x127ea9fb0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=https://myhttpsdomain/my_page.php, NSErrorFailingURLKey=https://myhttpsdomain/my_page.php, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}
Error with domain:https://myhttpsdomain/my_page.php
它创建此计时器时,从未连接到服务器。一旦问题被触发,来自该设备的所有web请求将在几分钟内产生错误

我正在使用basic
let task=session.dataTaskWithRequest
向我的服务器发送post请求


要确定是否建立了服务器连接,php文件中的第一行是
error\u log(“页面已被调用”)而这一行甚至没有打印。

这可能是以下情况之一:

  • DNS问题
  • 路由问题/网络问题
  • 服务器配置问题
首先,检查服务器日志,看看当客户端放弃连接时,请求是否会突然出现在日志中。如果是这样的话,您将需要一个数据包跟踪来确定,但很有可能是,您的PHP脚本在发送头之前一直处于楔入状态,或者服务器以某种方式被错误配置


如果没有,那么嗅探网络,看看它是否发出了请求。并确保两台设备都可以相互ping。

这可能是以下情况之一:

  • DNS问题
  • 路由问题/网络问题
  • 服务器配置问题
首先,检查服务器日志,看看当客户端放弃连接时,请求是否会突然出现在日志中。如果是这样的话,您将需要一个数据包跟踪来确定,但很有可能是,您的PHP脚本在发送头之前一直处于楔入状态,或者服务器以某种方式被错误配置


如果没有,那么嗅探网络,看看它是否发出了请求。并确保两台设备可以相互ping。

这听起来像是服务器端的bug。我会在网络上安装一个嗅探器(可能是在服务器端),并查看到底发生了什么。这听起来像是服务器端的bug。我会在网络上安装一个嗅探器(可能是在服务器端),并查看到底发生了什么。