47 lines
653 B
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"))
|
||
|
|
}
|