Last active
January 29, 2025 10:12
-
-
Save abhishekkr/3beebbc1db54b3b54914 to your computer and use it in GitHub Desktop.
Revisions
-
abhishekkr revised this gist
Dec 10, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -31,6 +31,7 @@ func ReadNWrite(conn net.Conn) { fmt.Println("failed:", write_err) return } conn.(*net.TCPConn).CloseWrite() buf, read_err := ioutil.ReadAll(conn) if read_err != nil { -
abhishekkr created this gist
Dec 10, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,41 @@ package main import ( "fmt" "io/ioutil" "net" "os" ) const ( CONN_HOST = "localhost" CONN_PORT = "3333" CONN_TYPE = "tcp" ) func main() { conn, err := net.Dial(CONN_TYPE, CONN_HOST+":"+CONN_PORT) if err != nil { fmt.Println(err) os.Exit(1) } ReadNWrite(conn) conn.Close() } func ReadNWrite(conn net.Conn) { message := "Test Request\n" _, write_err := conn.Write([]byte(message)) if write_err != nil { fmt.Println("failed:", write_err) return } buf, read_err := ioutil.ReadAll(conn) if read_err != nil { fmt.Println("failed:", read_err) return } fmt.Println(string(buf)) } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,49 @@ package main import ( "fmt" "io/ioutil" "net" "os" ) const ( CONN_HOST = "localhost" CONN_PORT = "3333" CONN_TYPE = "tcp" ) func main() { l, err := net.Listen(CONN_TYPE, CONN_HOST+":"+CONN_PORT) if err != nil { fmt.Println("Error listening:", err.Error()) os.Exit(1) } defer l.Close() fmt.Println("Listening on " + CONN_HOST + ":" + CONN_PORT) for { conn, err := l.Accept() if err != nil { fmt.Println("Error accepting: ", err.Error()) os.Exit(1) } go handleRequest(conn) } } func handleRequest(conn net.Conn) { buf, read_err := ioutil.ReadAll(conn) if read_err != nil { fmt.Println("failed:", read_err) return } fmt.Println("Got: ", string(buf)) _, write_err := conn.Write([]byte("Message received.\n")) if write_err != nil { fmt.Println("failed:", write_err) return } conn.Close() }