tcp-socket/service/data-service.go

47 lines
653 B
Go

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"))
}