1 Star 0 Fork 0

燃迩/websocket

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
signal_event.go 829 Bytes
一键复制 编辑 原始数据 按行查看 历史
吕诗铭 提交于 2016-07-25 21:07 . new file
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
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/benlightning/websocket.git
git@gitee.com:benlightning/websocket.git
benlightning
websocket
websocket
master

搜索帮助