package service import ( "fmt" "myschools.me/suguo/tcp-socket/model" ) var _data chan *model.Packet func init() { _data = make(chan *model.Packet, 1024) } func DataPush(packet *model.Packet) { _data <- packet } func DataProcess() { for { data := <-_data fmt.Println(string(data.Data)) switch string(data.Data[:1]) { case "a": go dataA((data)) case "b": go dataB((data)) } } } func dataA(p *model.Packet) { cc := ClientGet(p.Endpoint) if cc == nil { return } cc.Write([]byte("AAAAAAAAAA")) } func dataB(p *model.Packet) { cc := ClientGet(p.Endpoint) if cc == nil { return } cc.Write([]byte("BBBBBBBBBBBBB")) }