@Leesper 發(fā)現(xiàn)另一個問題,當serverConn關(guān)閉之后調(diào)用asyncWrite并不會返回錯誤,原因出在這個地方
func asyncWrite(c interface{}, m Message) error {
defer func() error {
if p := recover(); p != nil {
return ErrServerClosed
}
return nil
}()
//...
}
在defer函數(shù)中這樣返回并不會生效,應該使用顯示返回值
func asyncWrite(c interface{}, m Message) (err error) {
defer func() {
if p := recover(); p != nil {
err = ErrServerClosed
}
}()
// ...
}
Tao - Go語言實現(xiàn)的TCP網(wǎng)絡編程框架一. 什么是Tao Tao,在英文中的意思是“The ultimate principle of universe”,即“道”,它是宇宙的終極奧義。 “道生一,一生二,二生三...