1

我在 XCode iOS 模拟器上运行了一个 iOS 13.3 应用程序。它与运行在本地网络上的 Raspberry PI 上的简单 python tcpserver 通信。iOS 代码基于使用 URLSession的 // https://dev.to/bsorrentino/develop-a-textfield-validator-for-swiftui-7d3 。大约 10 秒后,我的 iOS 代码出现超时。我已经在 mac 上使用 tcpdump 检查了网络数据包。似乎发送和接收了正确的数据包。使用的 URL 是http://10.0.0.119:60708,因为此时 PI 服务器不处理 https。python 服务器接收到一个 JWT,添加线程名称并将其回显。python片段如下:

class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
    def handle(self):
        while True:
            data = self.request.recv(4096).decode('utf-8')
            if len(data) == 0:
                break
            cur_thread = threading.current_thread()
            response = "{}: {}".format(cur_thread.name, data)
            print(response)
            self.request.sendall(response.encode('utf-8'))

错误是:

2020-02-22 12:11:35.324596-0500 PIHome[64511:66647174] 任务 <2C1CE343-FB68-40CB-97C5-5E7967933838>.<2> 以错误结束 [-1001] 错误域 = NSURLErrorDomain 代码 = -1001“请求超时。” UserInfo={NSUnderlyingError=0x600001046ca0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey= http://10.0.0.119:60708/temperature , NSErrorFailingURLKey= http://10.0.0.119:60708/temperature , _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=请求超时。}

tcpdump 如下:

12:11:25.305647 IP 10.0.0.89.52915 > hastings.60708: Flags [S], seq 2969915581, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 2152442902 ecr 0,sackOK,eol], length 0
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0040 0000 4000 4006 25e9 0a00 0059 0a00  .@..@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 50bd 0000 0000 b002  .w...$..P.......
    0x0030:  ffff 382f 0000 0204 05b4 0103 0306 0101  ..8/............
    0x0040:  080a 804b ac16 0000 0000 0402 0000       ...K..........
12:11:25.312528 IP hastings.60708 > 10.0.0.89.52915: Flags [S.], seq 3390573497, ack 2969915582, win 28960, options [mss 1460,sackOK,TS val 3187848125 ecr 2152442902,nop,wscale 7], length 0
    0x0000:  8c85 9048 25eb b827 ebc1 f24d 0800 4500  ...H%..'...M..E.
    0x0010:  003c 0000 4000 4006 25ed 0a00 0077 0a00  .<..@.@.%....w..
    0x0020:  0059 ed24 ceb3 ca18 0bb9 b105 50be a012  .Y.$........P...
    0x0030:  7120 906f 0000 0204 05b4 0402 080a be02  q..o............
    0x0040:  b3bd 804b ac16 0103 0307                 ...K......
12:11:25.312574 IP 10.0.0.89.52915 > hastings.60708: Flags [.], ack 1, win 2058, options [nop,nop,TS val 2152442909 ecr 3187848125], length 0
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0034 0000 4000 4006 25f5 0a00 0059 0a00  .4..@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 50be ca18 0bba 8010  .w...$..P.......
    0x0030:  080a 284b 0000 0101 080a 804b ac1d be02  ..(K.......K....
    0x0040:  b3bd                                     ..
12:11:25.314030 IP 10.0.0.89.52915 > hastings.60708: Flags [P.], seq 1:269, ack 1, win 2058, options [nop,nop,TS val 2152442910 ecr 3187848125], length 268
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0140 0000 4000 4006 24e9 0a00 0059 0a00  .@..@.@.$....Y..
    0x0020:  0077 ceb3 ed24 b105 50be ca18 0bba 8018  .w...$..P.......
    0x0030:  080a 597f 0000 0101 080a 804b ac1e be02  ..Y........K....
    0x0040:  b3bd 504f 5354 202f 7465 6d70 6572 6174  ..POST./temperat
    0x0050:  7572 6520 4854 5450 2f31 2e31 0d0a 486f  ure.HTTP/1.1..Ho
    0x0060:  7374 3a20 3130 2e30 2e30 2e31 3139 3a36  st:.10.0.0.119:6
    0x0070:  3037 3038 0d0a 436f 6e74 656e 742d 5479  0708..Content-Ty
    0x0080:  7065 3a20 6170 706c 6963 6174 696f 6e2f  pe:.application/
    0x0090:  6a73 6f6e 0d0a 436f 6e6e 6563 7469 6f6e  json..Connection
    0x00a0:  3a20 6b65 6570 2d61 6c69 7665 0d0a 4163  :.keep-alive..Ac
    0x00b0:  6365 7074 3a20 6170 706c 6963 6174 696f  cept:.applicatio
    0x00c0:  6e2f 6a73 6f6e 0d0a 5573 6572 2d41 6765  n/json..User-Age
    0x00d0:  6e74 3a20 5049 486f 6d65 2f31 2043 464e  nt:.PIHome/1.CFN
    0x00e0:  6574 776f 726b 2f31 3132 312e 322e 3120  etwork/1121.2.1.
    0x00f0:  4461 7277 696e 2f31 392e 332e 300d 0a43  Darwin/19.3.0..C
    0x0100:  6f6e 7465 6e74 2d4c 656e 6774 683a 2032  ontent-Length:.2
    0x0110:  3139 0d0a 4163 6365 7074 2d4c 616e 6775  19..Accept-Langu
    0x0120:  6167 653a 2065 6e2d 7573 0d0a 4163 6365  age:.en-us..Acce
    0x0130:  7074 2d45 6e63 6f64 696e 673a 2067 7a69  pt-Encoding:.gzi
    0x0140:  702c 2064 6566 6c61 7465 0d0a 0d0a       p,.deflate....
12:11:25.314317 IP 10.0.0.89.52915 > hastings.60708: Flags [P.], seq 269:488, ack 1, win 2058, options [nop,nop,TS val 2152442910 ecr 3187848125], length 219
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  010f 0000 4000 4006 251a 0a00 0059 0a00  ....@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 51ca ca18 0bba 8018  .w...$..Q.......
    0x0030:  080a e989 0000 0101 080a 804b ac1e be02  ...........K....
    0x0040:  b3bd 224c 6f67 696e 2073 7563 6365 7373  .."Login.success
    0x0050:  6675 6c3a 6579 4a30 6558 4169 4f69 4a71  ful:eyJ0eXAiOiJq
    0x0060:  6433 5169 4c43 4a68 6247 6369 4f69 4a49  d3QiLCJhbGciOiJI
    0x0070:  557a 4931 4e69 4a39 2e65 794a 7a64 5749  UzI1NiJ9.eyJzdWI
    0x0080:  694f 694a 5153 5568 7662 5755 6762 4739  iOiJQSUhvbWUgbG9
    0x0090:  6e61 5734 694c 434a 3163 3256 7949 6a6f  naW4iLCJ1c2VyIjo
    0x00a0:  6963 476c 6f62 3231 6c4c 6e52 6862 6d52  icGlob21lLnRhbmR
    0x00b0:  6f51 4752 6862 4756 354c 6e64 7a49 6977  oQGRhbGV5LndzIiw
    0x00c0:  6961 5746 3049 6a6f 784e 5467 794d 7a6b  iaWF0IjoxNTgyMzk
    0x00d0:  784e 4467 314c 434a 6e63 6d39 3163 484d  xNDg1LCJncm91cHM
    0x00e0:  694f 6c73 6964 4746 755a 4767 6958 5830  iOlsidGFuZGgiXX0
    0x00f0:  2e53 6770 6875 4d6a 6347 6f37 6648 6a6a  .SgphuMjcGo7fHjj
    0x0100:  7878 4736 5569 7770 6c67 754d 645a 6268  xxG6UiwplguMdZbh
    0x0110:  6374 2d35 7a44 6344 6e64 4c59 22         ct-5zDcDndLY"
12:11:25.318063 IP hastings.60708 > 10.0.0.89.52915: Flags [.], ack 269, win 235, options [nop,nop,TS val 3187848130 ecr 2152442910], length 0
    0x0000:  8c85 9048 25eb b827 ebc1 f24d 0800 4500  ...H%..'...M..E.
    0x0010:  0034 4928 4000 4006 dccc 0a00 0077 0a00  .4I(@.@......w..
    0x0020:  0059 ed24 ceb3 ca18 0bba b105 51ca 8010  .Y.$........Q...
    0x0030:  00eb 2e58 0000 0101 080a be02 b3c2 804b  ...X...........K
    0x0040:  ac1e                                     ..
12:11:25.318064 IP hastings.60708 > 10.0.0.89.52915: Flags [P.], seq 1:280, ack 269, win 235, options [nop,nop,TS val 3187848131 ecr 2152442910], length 279
    0x0000:  8c85 9048 25eb b827 ebc1 f24d 0800 4500  ...H%..'...M..E.
    0x0010:  014b 4929 4000 4006 dbb4 0a00 0077 0a00  .KI)@.@......w..
    0x0020:  0059 ed24 ceb3 ca18 0bba b105 51ca 8018  .Y.$........Q...
    0x0030:  00eb cccc 0000 0101 080a be02 b3c3 804b  ...............K
    0x0040:  ac1e 5468 7265 6164 2d31 343a 2050 4f53  ..Thread-14:.POS
    0x0050:  5420 2f74 656d 7065 7261 7475 7265 2048  T./temperature.H
    0x0060:  5454 502f 312e 310d 0a48 6f73 743a 2031  TTP/1.1..Host:.1
    0x0070:  302e 302e 302e 3131 393a 3630 3730 380d  0.0.0.119:60708.
    0x0080:  0a43 6f6e 7465 6e74 2d54 7970 653a 2061  .Content-Type:.a
    0x0090:  7070 6c69 6361 7469 6f6e 2f6a 736f 6e0d  pplication/json.
    0x00a0:  0a43 6f6e 6e65 6374 696f 6e3a 206b 6565  .Connection:.kee
    0x00b0:  702d 616c 6976 650d 0a41 6363 6570 743a  p-alive..Accept:
    0x00c0:  2061 7070 6c69 6361 7469 6f6e 2f6a 736f  .application/jso
    0x00d0:  6e0d 0a55 7365 722d 4167 656e 743a 2050  n..User-Agent:.P
    0x00e0:  4948 6f6d 652f 3120 4346 4e65 7477 6f72  IHome/1.CFNetwor
    0x00f0:  6b2f 3131 3231 2e32 2e31 2044 6172 7769  k/1121.2.1.Darwi
    0x0100:  6e2f 3139 2e33 2e30 0d0a 436f 6e74 656e  n/19.3.0..Conten
    0x0110:  742d 4c65 6e67 7468 3a20 3231 390d 0a41  t-Length:.219..A
    0x0120:  6363 6570 742d 4c61 6e67 7561 6765 3a20  ccept-Language:.
    0x0130:  656e 2d75 730d 0a41 6363 6570 742d 456e  en-us..Accept-En
    0x0140:  636f 6469 6e67 3a20 677a 6970 2c20 6465  coding:.gzip,.de
    0x0150:  666c 6174 650d 0a0d 0a                   flate....
12:11:25.318096 IP 10.0.0.89.52915 > hastings.60708: Flags [.], ack 280, win 2054, options [nop,nop,TS val 2152442914 ecr 3187848131], length 0
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0034 0000 4000 4006 25f5 0a00 0059 0a00  .4..@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 52a5 ca18 0cd1 8010  .w...$..R.......
    0x0030:  0806 2546 0000 0101 080a 804b ac22 be02  ..%F.......K."..
    0x0040:  b3c3                                     ..
12:11:25.321081 IP hastings.60708 > 10.0.0.89.52915: Flags [P.], seq 280:510, ack 488, win 243, options [nop,nop,TS val 3187848134 ecr 2152442910], length 230
    0x0000:  8c85 9048 25eb b827 ebc1 f24d 0800 4500  ...H%..'...M..E.
    0x0010:  011a 492a 4000 4006 dbe4 0a00 0077 0a00  ..I*@.@......w..
    0x0020:  0059 ed24 ceb3 ca18 0cd1 b105 52a5 8018  .Y.$........R...
    0x0030:  00f3 b091 0000 0101 080a be02 b3c6 804b  ...............K
    0x0040:  ac1e 5468 7265 6164 2d31 343a 2022 4c6f  ..Thread-14:."Lo
    0x0050:  6769 6e20 7375 6363 6573 7366 756c 3a65  gin.successful:e
    0x0060:  794a 3065 5841 694f 694a 7164 3351 694c  yJ0eXAiOiJqd3QiL
    0x0070:  434a 6862 4763 694f 694a 4955 7a49 314e  CJhbGciOiJIUzI1N
    0x0080:  694a 392e 6579 4a7a 6457 4969 4f69 4a51  iJ9.eyJzdWIiOiJQ
    0x0090:  5355 6876 6257 5567 6247 396e 6157 3469  SUhvbWUgbG9naW4i
    0x00a0:  4c43 4a31 6332 5679 496a 6f69 6347 6c6f  LCJ1c2VyIjoicGlo
    0x00b0:  6232 316c 4c6e 5268 626d 526f 5147 5268  b21lLnRhbmRoQGRh
    0x00c0:  6247 5635 4c6e 647a 4969 7769 6157 4630  bGV5LndzIiwiaWF0
    0x00d0:  496a 6f78 4e54 6779 4d7a 6b78 4e44 6731  IjoxNTgyMzkxNDg1
    0x00e0:  4c43 4a6e 636d 3931 6348 4d69 4f6c 7369  LCJncm91cHMiOlsi
    0x00f0:  6447 4675 5a47 6769 5858 302e 5367 7068  dGFuZGgiXX0.Sgph
    0x0100:  754d 6a63 476f 3766 486a 6a78 7847 3655  uMjcGo7fHjjxxG6U
    0x0110:  6977 706c 6775 4d64 5a62 6863 742d 357a  iwplguMdZbhct-5z
    0x0120:  4463 446e 644c 5922                      DcDndLY"
12:11:25.321101 IP 10.0.0.89.52915 > hastings.60708: Flags [.], ack 510, win 2050, options [nop,nop,TS val 2152442917 ecr 3187848134], length 0
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0034 0000 4000 4006 25f5 0a00 0059 0a00  .4..@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 52a5 ca18 0db7 8010  .w...$..R.......
    0x0030:  0802 245e 0000 0101 080a 804b ac25 be02  ..$^.......K.%..
    0x0040:  b3c6                                     ..
12:11:35.324471 IP 10.0.0.89.52915 > hastings.60708: Flags [F.], seq 488, ack 510, win 2050, options [nop,nop,TS val 2152452893 ecr 3187848134], length 0
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0034 0000 4000 4006 25f5 0a00 0059 0a00  .4..@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 52a5 ca18 0db7 8011  .w...$..R.......
    0x0030:  0802 fd64 0000 0101 080a 804b d31d be02  ...d.......K....
    0x0040:  b3c6                                     ..
12:11:35.331969 IP hastings.60708 > 10.0.0.89.52915: Flags [F.], seq 510, ack 489, win 243, options [nop,nop,TS val 3187858144 ecr 2152452893], length 0
    0x0000:  8c85 9048 25eb b827 ebc1 f24d 0800 4500  ...H%..'...M..E.
    0x0010:  0034 492b 4000 4006 dcc9 0a00 0077 0a00  .4I+@.@......w..
    0x0020:  0059 ed24 ceb3 ca18 0db7 b105 52a6 8011  .Y.$........R...
    0x0030:  00f3 dd58 0000 0101 080a be02 dae0 804b  ...X...........K
    0x0040:  d31d                                     ..
12:11:35.332037 IP 10.0.0.89.52915 > hastings.60708: Flags [.], ack 511, win 2050, options [nop,nop,TS val 2152452899 ecr 3187858144], length 0
    0x0000:  b827 eb94 a718 8c85 9048 25eb 0800 4500  .'.......H%...E.
    0x0010:  0034 0000 4000 4006 25f5 0a00 0059 0a00  .4..@.@.%....Y..
    0x0020:  0077 ceb3 ed24 b105 52a6 ca18 0db8 8010  .w...$..R.......
    0x0030:  0802 d643 0000 0101 080a 804b d323 be02  ...C.......K.#..
    0x0040:  dae0                                     ..

这只是https的问题还是更深层次的问题?

4

1 回答 1

0

这可能是由于 ATS,请尝试在您的应用程序中设置以下键Info.plist

NSAppTransportSecurity : Dictionary {
    NSAllowsArbitraryLoads : Boolean               -> YES
    NSAllowsArbitraryLoadsForMedia : Boolean       -> YES
    NSAllowsArbitraryLoadsInWebContent : Boolean   -> YES
    NSAllowsLocalNetworking : Boolean              -> YES

查找有关官方防止不安全网络连接的更多详细信息

于 2020-02-22T18:27:48.273 回答