Você está na página 1de 2

CLIENTE

packagemain
import(
"encoding/gob"
"fmt"
"net"
//"time"
)

funchandleServerCon(cnet.Conn){
//receivethemessage
varmsgint
variint
err:=gob.NewDecoder(c).Decode(&msg)
iferr!=nil{
fmt.Println(err)
}else{
ifmsg<0{
msg*=1
fmt.Println("\nValorconsumido:",msg)
fmt.Println("")
}else{

fmt.Println("\nValorproduzido:",msg)
fmt.Println("")
}
}
i++
c.Close()
}

funcclient(inputint){

variint

c,err:=net.Dial("tcp","127.0.0.1:9999")
iferr!=nil{
fmt.Println(err)
return
}

//sendthemessage
fmt.Println("\nMensagemenviadapelocliente:",input)
fmt.Println("")
err=gob.NewEncoder(c).Encode(input)
iferr!=nil{
fmt.Println(err)
}
i++
c.Close()

funclisten(){

//listenonaport
ln,err:=net.Listen("tcp",":9998")
iferr!=nil{
fmt.Println(err)
return
}

for{
//acceptaconnection
c,err:=ln.Accept()
iferr!=nil{
fmt.Println(err)
continue
}//handletheconnection
gohandleServerCon(c)
}
}

funcmain(){

fmt.Println("\n****************************************\n")
fmt.Println("*******ClienteIniciando!*********\n")
fmt.Println("****************************************\n")

variint
varaint

golisten()
fori=1i<40i++{
fmt.Println("\n*************Digite1paraproduzire2paraconsumir*************\n")
fmt.Printf("Valor:")
n,err:=fmt.Scanf("%d\n",&a)
iferr!=nil{

fmt.Println(n,err)
}
goclient(a)
//time.Sleep(900*time.Millisecond)
}

varinputstring
fmt.Scanf("%s",&input)
}

Você também pode gostar