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: un used //clientIdentifier, err := component.CreateIdentifierByString("/pkusz/wefree") //if err != nil { // fmt.Println("demo client: client identifier init error!") // return //} //err = face.RegisterIdentifier(clientIdentifier, 5000) //if err != nil { // fmt.Println("demo client: register identifier init error!") // return //} var seq uint64 seq = 0 // send for true { time.Sleep(3 * time.Second) seq++ // serverIdentifier serverIdentifier, err := component.CreateIdentifierByString("/pkusz/server") if err != nil { fmt.Println("demo client: server identifier init error!") return } serverIdentifier.AppendFragmentNumber(seq) // gppacket pkt := new(packet.Interest) pkt.SetName(serverIdentifier) pkt.SetTTL(64) pkt.SetValue([]byte("wefree" + strconv.FormatUint(seq, 10))) err = face.SendInterest(pkt) if err != nil { fmt.Println("demo client: send error!") continue } gpPkt, err := face.ReceiveData(5000) if err != nil { fmt.Println("demo client: receive data error!", err) continue } fmt.Println("demo client: received data from server. the content is: ", byteToString(gpPkt.GetValue())) } } func byteToString(bytes []byte) string { return *(*string)(unsafe.Pointer(&bytes)) }