package utils import ( "log" "net" ) const ServerType = "tcp" var ServerRunning = false var client net.Conn func Listen(address string) { server, err := net.Listen(ServerType, address) if err != nil { log.Fatal("error in create server ", err) } defer server.Close() log.Println("listen on ", address) for ServerRunning { conn, err := server.Accept() if err != nil { ServerRunning = false log.Fatalln("error in create connection ", err) } if client == nil { client = conn } else { log.Println("client already connected, close") conn.Close() } } } func Write(data string) { defer func() { client.Close() client = nil }() _, err := client.Write([]byte(data)) if err != nil { log.Println("error in write data to client socket ", err) client.Close() client = nil } }