概要
golang实现tcp编程主要用到net包下面的几个方法:
net.Listen:监听一个地址
Listener接口中的Accept:接收一个请求连接
net.Dial:和服务端建立连接
服务端code
package main
import (
"bufio"
"encoding/json"
"flag"
"fmt"
"net"
"os"
"time"
)
var host = flag.String("host", "", "host")
var port = flag.String("port", "9999", "port")
type Msg struct {
Data string `json:"data"`
Type int `json:"type"`
}
type Resp struct {
Data string `json:"data"`
Status int `json:"status"`
}
func main() {
flag.Parse()
var l net.Listener
var err error
l, err = net.Listen("tcp", *host+":"+*port)
if err != nil {
fmt.Println("listen error:", err)
os.Exit(1)
}
defer l.Close()
fmt.Println("listening on