package main import ( "fmt" "net" "time" "os" "bufio" ) func main() { ln, _ := net.Listen("tcp", ":8000") file, _ := os.Create("./test.logs") writer := bufio.NewWriter(file) for { conn, _ := ln.Accept() conn.SetReadDeadline(time.Now().Add(time.Second)) recvData := make([]byte, 1024) n, err := conn.Read(recvData) if n > 0 { fmt.Println("Data Received") mystring := string(recvData[:]) fmt.Println(mystring) written, err := writer.WriteString(mystring) if err != nil { fmt.Printf("Error %s", err) } fmt.Printf("Written: %d\n", written) fmt.Printf("Available: %d\n", writer.Available()) fmt.Printf("Buffered : %d\n", writer.Buffered()) } if e, ok := err.(interface{ Timeout() bool }); ok && e.Timeout() { fmt.Println("Timeout") } else if err != nil { fmt.Println("Error") } conn.Close() } }