File tree Expand file tree Collapse file tree 4 files changed +132
-0
lines changed
Expand file tree Collapse file tree 4 files changed +132
-0
lines changed Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "bufio"
5+ "fmt"
6+ "net"
7+ "os"
8+ "strings"
9+ )
10+
11+ func main () {
12+ // open connection:
13+ conn , err := net .Dial ("tcp" , ":8080" )
14+ if err != nil {
15+ // No connection could be made because the target machine actively refused it.
16+ fmt .Println ("Error dialing" , err .Error ())
17+ return // terminate program
18+ }
19+ inputReader := bufio .NewReader (os .Stdin )
20+ fmt .Println ("First, what is your name?" )
21+ clientName , _ := inputReader .ReadString ('\n' )
22+ // fmt.Printf("CLIENTNAME %s",clientName)
23+ trimmedClient := strings .Trim (clientName , "\r \n " ) // "\r\n" on Windows, "\n" on Linux
24+ // send info to server until Quit:
25+ for {
26+ fmt .Println ("What to send to the server? Type Q to quit." )
27+ input , _ := inputReader .ReadString ('\n' )
28+ trimmedInput := strings .Trim (input , "\r \n " )
29+ // fmt.Printf("input:--%s--",input)
30+ // fmt.Printf("trimmedInput:--%s--",trimmedInput)
31+ if trimmedInput == "Q" {
32+ return
33+ }
34+ _ , err = conn .Write ([]byte (trimmedClient + " says: " + trimmedInput + "\n " ))
35+ }
36+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "fmt"
5+ "io"
6+ "net/http"
7+ )
8+
9+ var urls = []string {
10+ "http://www.google.com/" ,
11+ "http://golang.org/" ,
12+ "http://blog.golang.org/" ,
13+ }
14+
15+ func main () {
16+ // Executes an HTTP HEAD request for all URL's
17+ // and returns the HTTP status string or an error string.
18+ for _ , url := range urls {
19+ resp , err := http .Head (url )
20+ if err != nil {
21+ fmt .Println ("Error:" , url , err )
22+ }
23+ fmt .Println (url , ": " , resp .Status )
24+ }
25+
26+ res , err := http .Get ("http://www.google.com/" )
27+ if err != nil {
28+ fmt .Println ("Error:" , err )
29+ return
30+ }
31+ data , err := io .ReadAll (res .Body )
32+ if err != nil {
33+ fmt .Println ("Error reading response body:" , err )
34+ return
35+ }
36+ fmt .Println ("Response body:" , string (data ))
37+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "fmt"
5+ "net"
6+ )
7+
8+ func main () {
9+ fmt .Println ("Starting the TCP server..." )
10+
11+ listener , err := net .Listen ("tcp" , "0.0.0.0:8080" )
12+ if err != nil {
13+ fmt .Println ("Error starting the server:" , err )
14+ return
15+ }
16+ defer listener .Close ()
17+
18+ for {
19+ conn , err := listener .Accept ()
20+ if err != nil {
21+ fmt .Println ("Error accepting connection:" , err )
22+ continue
23+ }
24+
25+ go doServerStuff (conn )
26+ }
27+ }
28+
29+ func doServerStuff (conn net.Conn ) {
30+ for {
31+ buf := make ([]byte , 512 )
32+ _ , err := conn .Read (buf )
33+ if err != nil {
34+ fmt .Println ("Error reading" , err .Error ())
35+ return // terminate program
36+ }
37+ fmt .Printf ("Received data: %v" , string (buf ))
38+ }
39+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "fmt"
5+ "log"
6+ "net/http"
7+ )
8+
9+ func HelloServer (w http.ResponseWriter , req * http.Request ) {
10+ fmt .Println ("Inside HelloServer handler" )
11+ fmt .Fprint (w , "Hello, " + req .URL .Path [1 :])
12+ }
13+
14+ func main () {
15+ http .HandleFunc ("/" , HelloServer )
16+ err := http .ListenAndServe ("0.00.0:3000" , nil )
17+ if err != nil {
18+ log .Fatal ("ListenAndServe: " , err .Error ())
19+ }
20+ }
You can’t perform that action at this time.
0 commit comments