bobohume

Results 3 comments of 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)) ![GJ%5OVDFC80$3Y)_QV VTAR](https://user-images.githubusercontent.com/7111889/139519203-dfe73c76-c590-45a0-b02c-096279152ee0.jpg) > > ![F `B5(P}3FZ7JEA1EU)UY7P](https://user-images.githubusercontent.com/7111889/139519206-7e880cd5-455b-4567-98db-64aedf72cd24.jpg) 是可以这么做,再stop的时候设置SetDeadline

> 已经有进阶版了?3000吗?求联系 自己加群