データ通信json、実は悪くない
3360 ワード
jsonは私たちが最近勉強したデータ通信です
クライアント側jsonデータ送信
3 server側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
}