Closed cjf621 closed 1 year ago
WriteClose就是主动关闭,net.Conn的关闭封装在gws内部了,你看下ReadLoop的源码
一但出现error,gws就会关闭连接并调用OnError
一但出现error,gws就会关闭连接并调用OnError
因为我之前用的github.com/gorilla/websocket这个,然后有问题是错误1006,EOF,这个我看读取帧的时候就有1006,但是不会触发emitClose,会触发emitError 这个EOF事件
gws里面收到对方发送的关闭帧才会触发emitClose/OnClose,IO和其他错误是触发emitError/OnError,你可以看一下Event的注释
gws
在连接生命周期管理方面可以说是自动挡了, 所有行为都符合 WebSocket
协议标准: https://lxzan.github.io/gws/reports/servers/
gws
在连接生命周期管理方面可以说是自动挡了, 所有行为都符合WebSocket
协议标准: https://lxzan.github.io/gws/reports/servers/
0: 0 [1: 48] @ 0x5ef51e 0x6580a1 0x65ddb4 0x65eb55 0x6715dc 0x683c3b 0x681b61 0x6814f1 0x67fc98 0x67def6 0x6aca45 0x6aca46 0x9c9218 0x9c91d1 0x9d2252 0x9d5e9b 0x747aea 0x748032 0x747cf5 0x46d781
gws里面收到对方发送的关闭帧才会触发emitClose/OnClose,IO和其他错误是触发emitError/OnError,你可以看一下Event的注释
我再研究下吧,我现在的问题是,两个client发生抢占,原client会出现error,同时heap会溢出
这些信息不像是OnRecovery打印出来的, 你说的heap指的是stack overflow ?
这里数组越界了? C:/Users/admin/sdk/go1.20.1/src/vendor/golang.org/x/crypto/cryptobyte/asn1.go:453
这些信息不像是OnRecovery打印出来的, 你说的heap指的是stack overflow ?
是pprof的heap,内存泄露
大佬有交流群嘛?咨询一下嘿嘿
大佬有交流群嘛?咨询一下嘿嘿
加这个QQ群:819527884
关了issue吧, 你这贴堆栈信息闹乌龙呢
好像没有主动关闭事件,我在 error里,调用了net.conn.close,看代码这个是没必要的,那error事件怎么调用关闭呢