bobohume
bobohume
h > 建议不要在Socket的Stop函数中不要去关闭conn,因为有可能导致Run中的conn.Read会阻塞无法返回,导致无法释放 然后最好在conn.Read之前加一个读取超时,可以跟心跳测试的间隔时间一致的30秒,把conn.Stop 放在Socket.Close一起处理 让Run这个协程能够顺利执行和释放,原来的Socket的Stop只是改变一个状态,然后再Run的loop函数中针对状态,如果状态是SSF_STOP 直接退出循环,特别是在KCP模式下很容阻塞不释放。 > > if this.GetState() != SSF_RUN { return false } > > this.conn.(_kcp.UDPSession).SetDeadline(time.Now().Add(time.Second_HEART_TIME_OUT))  > >  是可以这么做,再stop的时候设置SetDeadline
> 已经有进阶版了?3000吗?求联系 自己加群