代码拉取完成,页面将自动刷新
package websocket
import "net"
type Event struct {
OnOpen func(net.Conn)
OnMessage func(Packet)
OnClose func(net.Conn)
OnError func(string)
}
type Signal struct {
OnOpen chan net.Conn
OnMessage chan Packet
OnClose chan net.Conn
OnError chan string
Close chan string
}
func EventListen(e Event) Signal {
var s = Signal{
OnOpen: make(chan net.Conn),
OnMessage: make(chan Packet),
OnClose: make(chan net.Conn),
OnError: make(chan string),
Close: make(chan string),
}
go func() {
for {
select {
case E := <-s.OnOpen:
e.OnOpen(E)
case E := <-s.OnMessage:
e.OnMessage(E)
case E := <-s.OnClose:
e.OnClose(E)
case E := <-s.OnError:
e.OnError(E)
case <-s.Close:
return
}
}
}()
return s
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。