Server
listener,err:=net.Listen("tcp","127.0.0.1:8000")
if err!=nil {
fmt.Print(err)
return
}
defer listener.Close()
for {
conn,err:=listener.Accept()
if err!=nil {
fmt.Print(err)
return
}
fmt.Print(conn.RemoteAddr())
go func() {
defer conn.Close()
buf:=make([]byte,1024)
for {
n,err:=conn.Read(buf)
conn.Write([]byte(strings.ToUpper(string(buf[:n]))))
if err==io.EOF {
return
}
}
}()
}
Client
conn,err:=net.Dial("tcp","127.0.0.1:8000")
if err!=nil {
fmt.Print(err)
return
}
defer conn.Close()
go func() {
buf:=make([]byte,1024)
for {
n,err:=os.Stdin.Read(buf)
if err!=nil {
fmt.Print(err)
continue
}
conn.Write(buf[:n])
}
}()
buf:=make([]byte,1024)
for {
n,err:=conn.Read(buf)
if err==io.EOF {
continue
}
fmt.Print(string(buf[:n]))
}