GCDAsyncSocket读取流被关闭的问题

louyizhidu 2016-01-08 06:13:00
使用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];

以依旧没用,
尝试使用其他的读取方式虽然不会提示断开读取流,但是依然无法收到后台推送的数据


请问如何再次打开读取流,或者其他的解决方式,感激不尽
...全文
610 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hslinux 2016-08-01
  • 打赏
  • 举报
回复
看下服务器端,是不是客户端发送的数据有问题,导致服务器端主动关闭了socket。
zhu410289616 2016-07-31
  • 打赏
  • 举报
回复
https://github.com/zhu410289616/RHSocketKit 整理的一些使用内容 希望对大家有用
qq_33640431 2016-07-08
  • 打赏
  • 举报
回复
在线等啊 楼主可以留下你的联系方式吗 或者我的QQ327256610
qq_33640431 2016-07-08
  • 打赏
  • 举报
回复
楼主你好,现在问题解决了没,我也遇到同样的问题 求赐教啊

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧