william2014 发表于 2014-8-7 16:24:09

anychat断网重新连接机制问题

你好,ios客户端(A端)在与服务端(B端)进行anychat视频通话时,在A切换了网络,发现A会进行退出房间、退出登录、然后大约10s后重新进行connect;
但是这样会有个缺陷:此时B会收到A离开房间的消息,会进行OnAnyChatUserLeaveRoom回调,而此时一般都会认为A已经离开了,
然后B也会进行一些退出、断开anychat连接的操作,而此时A其实在进行connect重连,但是重练成功后,发现B已经离开房间了。
此时,断线重连的机制并没有利用起来,该如何解决呢?

admin 发表于 2014-8-7 16:32:53

您好,您可以关闭断线重连功能:#define BRAC_SO_NETWORK_AUTORECONNECT                47        ///< 网络掉线自动重连功能控制(参数为int型,0 关闭, 1 开启[默认])
;

廖斌 发表于 2014-8-7 16:34:57

如果B要等A自动重连的话,就不应该做退出anychat的操作哦。正确的方法是B知道A离开房间后,等A一段时间,如果A没进来,再退出@此时B会收到A离开房间的消息,会进行OnAnyChatUserLeaveRoom回调,而此时一般都会认为A已经离开了,
然后B也会进行一些退出、断开anychat连接的操作

廖斌 发表于 2014-8-7 16:36:48

廖斌 发表于 2014-8-7 16:34
如果B要等A自动重连的话,就不应该做退出anychat的操作哦。正确的方法是B知道A离开房间后,等A一段时间,如 ...

在上面的基础上面还可以做些改进,B要知道A离开房间是因为什么原因离开的,是主动退出还是由于网络掉线。如果是主动退出的话,B就退出;如果是网络掉线的话,就等A重连进来。

廖斌 发表于 2014-8-7 16:37:59

admin 发表于 2014-8-7 16:32
您好,您可以关闭断线重连功能:

当然,如果为了保持两边的登录状态一致,也可以不让A重连。
页: [1]
查看完整版本: anychat断网重新连接机制问题