今天在用golang做报文发送接收的时候出现了一个问题,报文是发送成功了,但是收不到服务器的响应.我查看了服务器是给客服端响应了的,服务器端是java做的.java客服端都是正确的.
func main() {
conn, err := net.Dial("tcp", "127.0.0.1:9001")
fmt.Println("begin to send message")
status, e := conn.Write([]byte("00000224010000 000 1600000013 asdasdsaasd1622689243"))
checkError(e)
fmt.Println("send message over,status:", status)
result, err := readFully(conn)
fmt.Println("read message over")
checkError(err)
fmt.Println(result)
}
func readFully(conn net.Conn) ([]byte, error) {
defer conn.Close()
result := bytes.NewBuffer(nil)
var buf [512]byte
for {
fmt.Println("begin to read message")
n, err := conn.Read(buf[0:])
fmt.Println("read message over")
result.Write(buf[0:n])
if err != nil {
if err == io.EOF {
break
}
return nil, err
}
}
return result.Bytes(), nil
}