diff --git a/ServiceChecker/service_verify.sh b/ServiceChecker/service_verify.sh index f1f982d1ec82b4416804feacb5594fedf9824fd0..20521288e84896135fb5445eb5dbeb329083ce0d 100644 --- a/ServiceChecker/service_verify.sh +++ b/ServiceChecker/service_verify.sh @@ -50,9 +50,14 @@ function mv_register_file() cd ${socket_file} # install go-systemd库 activation export GO111MODULE=auto + # git clone https://github.com/coreos/go-systemd.git ~/go/src/github.com/coreos/go-systemd go get github.com/coreos/go-systemd/activation + if [ $? -ne 0 ]; then + go env -w GOPROXY=https://goproxy.cn,direct + go env -w GOPRIVATE=git.mycompany.com,github.com/my/private - # git clone https://github.com/coreos/go-systemd.git ~/go/src/github.com/coreos/go-systemd + go get github.com/coreos/go-systemd/activation + fi go build service_client.go go build service_server.go @@ -111,11 +116,11 @@ function verify_socket() fi log_info "请等待socket单元测试应用运行..." sleep 10 - log_info "显示客户端服务通信日志信息:\n`journalctl -u service_verify_client.service -n 10`" - log_info "显示服务端服务通信日志信息:\n`journalctl -u service_verify_server.service -n 5`" + log_info "显示客户端服务通信日志信息:\n`journalctl -u service_verify_client.service -n 5`" + log_info "显示服务端服务通信日志信息:\n`journalctl -u service_verify_server.service -n 3`" - journalctl -u service_verify_client.service -n 10 | grep "The client is starting" >/dev/null 2>&1 && - journalctl -u service_verify_server.service -n 5 | grep "service server start" >/dev/null 2>&1 + journalctl -u service_verify_client.service -n 5 | grep "The client is starting" >/dev/null 2>&1 && + journalctl -u service_verify_server.service -n 3 | grep "service server start" >/dev/null 2>&1 if [ $? -eq 0 ]; then log_info "***** socket单元功能验证成功!*****" else diff --git a/ServiceChecker/socket/service_client.go b/ServiceChecker/socket/service_client.go index b22b178640b789bbe4f355b546b6d768f515dc9d..330d28f0b933174fb6a5293e9ae06fafb26f86fe 100644 --- a/ServiceChecker/socket/service_client.go +++ b/ServiceChecker/socket/service_client.go @@ -5,9 +5,7 @@ import ( "net" "fmt" "flag" - "time" "bufio" - "strconv" "strings" ) @@ -25,7 +23,7 @@ func main() { if addr == "" { flag.Usage() } else { - fmt.Println("Connect server by socket:" + addr) + fmt.Println("Connect server by:" + addr) } conn, e := net.Dial("unix", addr) if e != nil { @@ -33,16 +31,9 @@ func main() { } defer conn.Close() read := bufio.NewReader(conn) - num := 0 - var content string + var content string = "Verify socket client" for { - if num == 6 { - content = "closed" - } else { - num += 3 - content = strconv.Itoa(num) - } - fmt.Print("Input content: " + content + "\n") + fmt.Print("Client input content: " + content + "\n") conn.Write([]byte(content + "\n")) returnData, e := read.ReadString('\n') if e != nil { @@ -50,8 +41,8 @@ func main() { break } fmt.Println("Client receive:" + returnData) - time.Sleep(time.Duration(1) * time.Second) - if strings.Contains(returnData, "closed"){ + if strings.Contains(returnData, "server"){ + fmt.Println("The client is end !") break } } diff --git a/ServiceChecker/socket/service_server.go b/ServiceChecker/socket/service_server.go index 30c93d6ea4da1edf42e04a485f2ae0eafec0d242..2a883c322690a282190161f09c264e7886551733 100644 --- a/ServiceChecker/socket/service_server.go +++ b/ServiceChecker/socket/service_server.go @@ -9,23 +9,23 @@ import ( ) func handle(conn net.Conn) { + var res_content string = "Verify socket server" defer conn.Close() for { receives := bufio.NewReader(conn) - var buffer [128]byte - num, e := receives.Read(buffer[:]) + receiveData, e := receives.ReadString('\n') if e != nil { fmt.Printf("read from conn failed, error:%v\n", e) break } - receiveData := string(buffer[:num]) fmt.Printf("Server receive: %v\n", receiveData) - _, e = conn.Write([]byte(receiveData)) + _, e = conn.Write([]byte(res_content + "\n")) if e != nil { fmt.Printf("Write from conn failed, error:%v\n", e) break } - if strings.Contains(receiveData, "closed") { + if strings.Contains(receiveData, "client") { + fmt.Println("service server end !") break } }