Files
tele-recv/utils/socket.go
T

47 lines
820 B
Go
Raw Normal View History

2020-12-21 17:58:30 +08:00
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
}
}