blob: 344344210ad36edc00fb392e6e450e8db8987240 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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()
}
}
|