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