最近开发了一个iOS应用,依赖于websocket长连接,然而提审的时候被拒了。 从审核员提供的截图和服务端的日志来看,审核员手上的设备会不定时断开websocket连接,时长大概在30秒-1分多钟之间。 开始以为是美国连接我们服务器的线路有问题,遂通过科学手段让iOS的出口IP变成美国IP,竟然真就复现了这个问题。
查看客户端的日志:
Error Domain=NSPOSIXErrorDomain Code=54 "Connection reset by peer" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}
故而认为是服务端先动的手,找服务端查看websocket连接日志,不想服务端也认为是客户端先动的手,收到了1006的异常信息。