func (c *KFClient) startClient(addr string, port int) bool { c.handle = cli.JKNewClientNew(addr, port) reconn: ret := c.handle.CliConnect(0, true) if !ret { return false } // tmstr := fmt.Sprintf("%d", time.Now().Unix()) p := NewJKProtocol() regstr := p.GenerateRegister(*id) n, err := c.handle.Write([]byte(regstr)) if err != nil { jklog.L().Errorln("write failed: ", err) goto reconn } jklog.L().Debugln("write done of len: ", n) itemData := &cli.JKClientItem{} n, err = c.handle.Read(itemData) if err != nil { jklog.L().Errorln("read failed, ", err) } else { jklog.L().Infoln("read data: ", string(itemData.Data)) } var startTime int64 for { now := time.Now().Unix() if now-startTime < 300 { time.Sleep(time.Millisecond * 1000) continue } startTime = now wstr := p.GenerateControlSaveFile(*id+".log", "Hello, I'm online - "+time.Now().String()) _, err = c.handle.Write([]byte(wstr)) if err != nil { jklog.L().Errorln("write failed, ", err) goto reconn } } c.handle.Close() return true }
func (c *KFClient) startClient() bool { c.handle = cli.JKNewClientNew(JK_NET_ADDRESS_LOCAL, JK_NET_ADDRESS_PORT) ret := c.handle.CliConnect(0, true) if !ret { return false } // tmstr := fmt.Sprintf("%d", time.Now().Unix()) p := NewJKProtocol() regstr := p.GenerateRegister(*id) n, err := c.handle.Write([]byte(regstr)) if err != nil { jklog.L().Errorln("write failed: ", err) return false } jklog.L().Debugln("write done of len: ", n) itemData := &cli.JKClientItem{} n, err = c.handle.Read(itemData) if err != nil { jklog.L().Errorln("read failed, ", err) return false } jklog.L().Infoln("read data: ", string(itemData.Data)) wstr := p.GenerateControlSaveFile("test.log", "This is a test log\n") _, err = c.handle.Write([]byte(wstr)) if err != nil { jklog.L().Errorln("write failed, ", err) } time.Sleep(time.Millisecond * 10000) c.handle.Close() return true }