最近我们游戏项目在提交 App Store 审核,遇到无法理解的问题了。
表现是 HTTP 正常,tcp 异常。
tcp 的异常是,对方( App Store 审核者)连接我的服务器时,syn 可以正常收发,
也就是说 tcp 的连接是成功创建了的,
并且服务器可以收到对方发来的 psh 包,
但是服务器给对方发 psh 包时,对方永远都收不到,最后 tcp timeout 关掉连接。
服务器是买的 EC2,在加州,
从国内访问是正常的,并且我在加州另买一台 ec2 模拟客户端进行交互,也是成功的,
IPV4 和 IPV6 两种方式也测过了,都是正常的。
难受的点就在于,无法重现 App Store 出现的这个问题,并且提交给他们审核了多次,100%出问题。
想问各位 V 友,有遇到过这么奇怪的问题吗,有什么好的思路解决。
附上抓包的内容:
对方第 1 次访问:
02:25:59.732643 IP 17.222.113.29.64835 > ip-172-31-0-183.us-west-1.compute.internal.gw: Flags [S], seq 174102115, win 65535, options [mss 1363,nop,wscale 5,nop,nop,TS val 1284957903 ecr 0,sackOK,eol], length 0
02:25:59.732668 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [S.], seq 4049788313, ack 174102116, win 26847, options [mss 8961,sackOK,TS val 316630609 ecr 1284957903,nop,wscale 7], length 0
02:25:59.737832 IP 17.222.113.29.64835 > ip-172-31-0-183.us-west-1.compute.internal.gw: Flags [.], ack 1, win 32803, options [nop,nop,TS val 1284957911 ecr 316630609], length 0
02:25:59.752922 IP 17.222.113.29.64835 > ip-172-31-0-183.us-west-1.compute.internal.gw: Flags [P.], seq 1:64, ack 1, win 32803, options [nop,nop,TS val 1284957925 ecr 316630609], length 63
02:25:59.752932 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [.], ack 64, win 210, options [nop,nop,TS val 316630630 ecr 1284957925], length 0
02:25:59.753757 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316630630 ecr 1284957925], length 39
02:25:59.959845 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316630837 ecr 1284957925], length 39
02:26:00.166847 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316631044 ecr 1284957925], length 39
02:26:00.581847 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316631459 ecr 1284957925], length 39
02:26:01.410851 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316632288 ecr 1284957925], length 39
02:26:03.070846 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316633948 ecr 1284957925], length 39
02:26:06.386853 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316637264 ecr 1284957925], length 39
02:26:13.026860 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316643904 ecr 1284957925], length 39
对方第 2 次访问:
02:26:20.379661 IP 17.222.113.29.64836 > ip-172-31-0-183.us-west-1.compute.internal.gw: Flags [S], seq 3752180301, win 65535, options [mss 1363,nop,wscale 5,nop,nop,TS val 1284976275 ecr 0,sackOK,eol], length 0
02:26:20.379689 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [S.], seq 929342483, ack 3752180302, win 26847, options [mss 8961,sackOK,TS val 316651256 ecr 1284976275,nop,wscale 7], length 0
02:26:20.384702 IP 17.222.113.29.64836 > ip-172-31-0-183.us-west-1.compute.internal.gw: Flags [.], ack 1, win 32803, options [nop,nop,TS val 1284976278 ecr 316651256], length 0
02:26:20.389008 IP 17.222.113.29.64836 > ip-172-31-0-183.us-west-1.compute.internal.gw: Flags [P.], seq 1:64, ack 1, win 32803, options [nop,nop,TS val 1284976282 ecr 316651256], length 63
02:26:20.389027 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [.], ack 64, win 210, options [nop,nop,TS val 316651266 ecr 1284976282], length 0
02:26:20.389816 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316651266 ecr 1284976282], length 39
02:26:20.594849 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316651472 ecr 1284976282], length 39
02:26:20.800843 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316651678 ecr 1284976282], length 39
02:26:21.213843 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316652091 ecr 1284976282], length 39
02:26:22.038843 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316652916 ecr 1284976282], length 39
02:26:23.690849 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316654568 ecr 1284976282], length 39
02:26:26.306860 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316657184 ecr 1284957925], length 39
02:26:26.994847 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316657872 ecr 1284976282], length 39
02:26:33.602847 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316664480 ecr 1284976282], length 39
02:26:46.818847 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316677696 ecr 1284976282], length 39
02:26:52.898853 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316683776 ecr 1284957925], length 39
02:26:59.753367 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64835: Flags [F.], seq 40, ack 64, win 210, options [nop,nop,TS val 316690630 ecr 1284957925], length 0
02:27:13.250847 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [P.], seq 1:40, ack 64, win 210, options [nop,nop,TS val 316704128 ecr 1284976282], length 39
02:27:20.390533 IP ip-172-31-0-183.us-west-1.compute.internal.gw > 17.222.113.29.64836: Flags [F.], seq 40, ack 64, win 210, options [nop,nop,TS val 316711267 ecr 1284976282], length 0
我们自己测试都是正常的,就不贴出抓包的内容了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.