使用GCDAsyncSocket和后台连接上之后,没有断开连接,发送登录服务器的消息,服务器返回登录成功的时候可以收到数据,当我接收到登录成功的数据,我开始发送心跳包给后台,提示心跳发送后,会提示我读取流被关闭,这就意味着 后台主动发送数据给我 的时候,我是无法读取到数据了[/code]
socket 里设置了不自动断开读取流
self.ADChatSocket->socket.autoDisconnectOnClosedReadStream=NO;可是没有效果,依旧会断开
2016-01-08 17:23:55.530 attendance[15716:192585] -[NSObjectGCDAsyncSocket socket:didReadData:withTag:]
{"result":true,"cache":false}
2016-01-08 17:23:55.530 attendance[15716:192573] didWriteDataWithTag
2016-01-08 17:23:55.533 attendance[15716:192590] -[NSObjectGCDAsyncSocket socketDidCloseReadStream:]一旦连接成功了数据的读取方式设置了不超时
[code=objc] //保持读取的长连接
[sock readDataWithTimeout:-1
tag:11];以依旧没用,
尝试使用其他的读取方式虽然不会提示断开读取流,但是依然无法收到后台推送的数据
请问如何再次打开读取流,或者其他的解决方式,感激不尽
socket 里设置了不自动断开读取流
self.ADChatSocket->socket.autoDisconnectOnClosedReadStream=NO;可是没有效果,依旧会断开
2016-01-08 17:23:55.530 attendance[15716:192585] -[NSObjectGCDAsyncSocket socket:didReadData:withTag:]
{"result":true,"cache":false}
2016-01-08 17:23:55.530 attendance[15716:192573] didWriteDataWithTag
2016-01-08 17:23:55.533 attendance[15716:192590] -[NSObjectGCDAsyncSocket socketDidCloseReadStream:]一旦连接成功了数据的读取方式设置了不超时
[code=objc] //保持读取的长连接
[sock readDataWithTimeout:-1
tag:11];以依旧没用,
尝试使用其他的读取方式虽然不会提示断开读取流,但是依然无法收到后台推送的数据
请问如何再次打开读取流,或者其他的解决方式,感激不尽
看下服务器端,是不是客户端发送的数据有问题,导致服务器端主动关闭了socket。