update sdk

pull/298/head
刘河 2019-12-08 21:04:27 +08:00
parent a602b11270
commit daaf1f28e1
2 changed files with 13 additions and 16 deletions

View File

@ -42,9 +42,16 @@ func NewRPClient(svraddr string, vKey string, bridgeConnType string, proxyUrl st
}
}
var NowStatus int
var CloseClient bool
//start
func (s *TRPClient) Start() {
retry:
NowStatus = 0
if CloseClient {
CloseClient = false
return
}
c, err := NewConn(s.bridgeConnType, s.vKey, s.svrAddr, common.WORK_MAIN, s.proxyUrl)
if err != nil {
logs.Error("The connection server failed and will be reconnected in five seconds, error", err.Error())
@ -66,6 +73,7 @@ retry:
if s.cnf != nil && len(s.cnf.Healths) > 0 {
go heathCheck(s.cnf.Healths, s.signal)
}
NowStatus = 1
//msg connection, eg udp
s.handleMain()
}
@ -279,6 +287,7 @@ loop:
}
func (s *TRPClient) Close() {
CloseClient = true
if s.tunnel != nil {
s.tunnel.Close()
}

View File

@ -6,44 +6,31 @@ import (
"github.com/cnlh/nps/client"
"github.com/cnlh/nps/lib/common"
"github.com/cnlh/nps/lib/version"
"time"
)
var status int
var closeBefore int
var cl *client.TRPClient
//export StartClientByVerifyKey
func StartClientByVerifyKey(serverAddr, verifyKey, connType, proxyUrl *C.char) int {
logs.SetLogger("store")
if cl != nil {
closeBefore = 1
cl.Close()
}
cl = client.NewRPClient(C.GoString(serverAddr), C.GoString(verifyKey), C.GoString(connType), C.GoString(proxyUrl), nil)
closeBefore = 0
go func() {
for {
status = 1
cl.Start()
status = 0
if closeBefore == 1 {
return
}
time.Sleep(time.Second * 5)
}
cl.Start()
return
}()
return 1
}
//export GetClientStatus
func GetClientStatus() int {
return status
return client.NowStatus
}
//export CloseClient
func CloseClient() {
closeBefore = 1
cl.Close()
}
@ -51,6 +38,7 @@ func CloseClient() {
func Version() *C.char {
return C.CString(version.VERSION)
}
//export Logs
func Logs() *C.char {
return C.CString(common.GetLogMsg())