データ通信json、実は悪くない

3360 ワード

jsonは私たちが最近勉強したデータ通信です2   ReqCode  int         // 3  ReqBody []byte     // 4 }
クライアント側jsonデータ送信01 func main() { 02      conn, err := net.Dial( "tcp" "127.0.0.1:8080" ) 03      if   err != nil { 04          fmt.Println(err.Error()) 05          return 06      } 07      defer conn.Close() 08      var req = &Requset{ReqCode: 1}   //ReqBody , 09                                                      // json 10              enc := json.NewEncoder(conn) 11            if   err = enc.Encode(req); err != nil { 12          fmt.Println(err.Error()) 13          return 14      } 15 }
3 server側jsonデータ受信と解析01 func main(){ 02   var err error 03      link, err := net.Listen( "tcp" ":8080" ) 04      if   err != nil { 05          panic(err.Error()) 06      } 07      defer link.Close() 08      for   { 09          conn, err := link.Accept() 10          if   err != nil { 11              fmt.Println(err.Error()) 12              continue 13          } 14          go HandleFunc(conn) 15      } 16 } 17 func HandleFunc(c net.Conn) { 18           defer c.Close() 19           var request = &Requset{}     20           dec := json.NewDecoder(c)   // TCP json 21             if   err := dec.Decode(request); err == nil { // client 22             fmt.Println(request) 23                 return 24         } 25 }