很快,我们的项目使用Thrift服务器和具有多路复用功能的移动客户端。
当我开发iOS客户端时,我遇到了一个奇怪的问题;
当我第一次创建客户端并进行调用时,它可以正常工作。
由于Cocoa Thrift客户端没有密切的方法,我希望ARC能够处理它。
过了一段时间,我为同一个服务创建了另一个客户端并做了同样的事情,但这一次,当我进行服务调用时,客户端挂起并在一段时间后抛出一个"' TTransportException& #39;,原因:'无法阅读。远程端已关闭。'"。
在服务器中,操作成功完成并返回值。
有没有人知道我做错了什么?
提前致谢!
答案 0 :(得分:1)
阅读你的问题我记得我们在一个不同的环境中遇到了一个非常类似的问题。如果ARC负责您的客户端并关闭连接,尤其是端口,这可能是为什么再次使用相同端口重新创建客户端是问题的根源。关闭后不久打开同一个端口可能需要很长时间(分钟),具体取决于超时。
很抱歉没有对你的问题给出真正的答案,但可能需要提示。