mirror of
https://gitee.com/willfree/min-usage.git
synced 2026-10-05 01:15:44 +08:00
77 lines
1.6 KiB
Go
77 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"minlib/component"
|
|
"minlib/logicface"
|
|
"minlib/packet"
|
|
"strconv"
|
|
"time"
|
|
"unsafe"
|
|
)
|
|
|
|
func main() {
|
|
// face
|
|
face := logicface.NewLogicFace()
|
|
err := face.InitWithTcp("192.168.230.131", 13899)
|
|
if err != nil {
|
|
fmt.Println("demo client: face init error!")
|
|
return
|
|
}
|
|
|
|
// register
|
|
clientIdentifier, err := component.CreateIdentifierByString(ClientPrefix)
|
|
if err != nil {
|
|
fmt.Println("demo client: client identifier init error!")
|
|
return
|
|
}
|
|
err = face.RegisterPushIdentifier(clientIdentifier, 5000)
|
|
if err != nil {
|
|
fmt.Println("demo client: register identifier init error!")
|
|
return
|
|
}
|
|
|
|
// seq
|
|
seq := new(pSeq)
|
|
seq.seq = 0
|
|
|
|
// send
|
|
for true {
|
|
time.Sleep(3 * time.Second)
|
|
num := seq.GetNewSeq()
|
|
|
|
// serverIdentifier
|
|
serverIdentifier, err := component.CreateIdentifierByString(ServerPrefix)
|
|
if err != nil {
|
|
fmt.Println("demo client: server identifier init error!")
|
|
return
|
|
}
|
|
serverIdentifier.AppendFragmentNumber(num)
|
|
|
|
// gppacket
|
|
pkt := new(packet.GPPkt)
|
|
pkt.SetDstIdentifier(serverIdentifier)
|
|
pkt.SetSrcIdentifier(clientIdentifier)
|
|
pkt.SetTTL(64)
|
|
pkt.SetValue([]byte("wefree" + strconv.FormatUint(num, 10)))
|
|
|
|
err = face.SendGPPkt(pkt)
|
|
if err != nil {
|
|
fmt.Println("demo client: send error!")
|
|
continue
|
|
}
|
|
|
|
gpPkt, err := face.ReceiveGPPkt(5000)
|
|
if err != nil {
|
|
fmt.Println("demo client: receive error!", err)
|
|
continue
|
|
}
|
|
|
|
fmt.Println("demo client: received data from server. content is: ", byteToString(gpPkt.GetValue()))
|
|
}
|
|
}
|
|
|
|
func byteToString(bytes []byte) string {
|
|
return *(*string)(unsafe.Pointer(&bytes))
|
|
}
|