This is a creation in Article, where the information may have evolved or changed.
Server-side:
Package Mainimport ("Bufio" "FMT" "Log" "Net") func handleconnection (conn net. Conn) {defer Conn. Close () data, err:= Bufio. Newreader (conn). ReadString ('\ n') ifErr! =Nil {log. Fatal (Err)} FMT. Println (string(data)) FMT. fprintf (Conn,"who?\n") data, err= Bufio. Newreader (conn). ReadString ('\ n') ifErr! =Nil {log. Fatal (Err)} FMT. Println (string(data))} Func main () {L, err:= Net. Listen ("TCP",": 2300") ifErr! =Nil {log. Fatal (ERR)} defer l.close () for{conn, err:=l.accept ()ifErr! =Nil {log. Fatal (Err)} go handleconnection (conn)}}
Client:
Package Mainimport ("Bufio" "FMT" "Log" "Net") Func Main () {conn, err:= Net. Dial ("TCP",": 2300") ifErr! =Nil {log. Fatal (ERR)} defer conn. Close () fmt. fprintf (Conn,"hello\n") Res, err:= Bufio. Newreader (conn). ReadString ('\ n') ifErr! =Nil {log. Fatal (Err)} FMT. Println (string(res)) FMT. fprintf (Conn,"jimmy!\n")}