Parcourir la source

Create socket.go

glight2000 il y a 10 ans
Parent
commit
c3a8ab833a
1 fichiers modifiés avec 30 ajouts et 0 suppressions
  1. 30 0
      eBook/examples/chapter_15/socket.go

+ 30 - 0
eBook/examples/chapter_15/socket.go

@@ -0,0 +1,30 @@
+package main
+
+import (
+	"fmt"
+	"io"
+	"net"
+)
+
+func main() {
+	var (
+		host          = "www.apache.org"
+		port          = "80"
+		remote        = host + ":" + port
+		msg    string = "GET / \n"
+		data          = make([]uint8, 4096)
+		read          = true
+		count         = 0
+	)
+	// 创建一个socket
+	con, err := net.Dial("tcp", remote)
+	// 发送我们的消息,一个http GET请求
+	io.WriteString(con, msg)
+	// 读取服务器的响应
+	for read {
+		count, err = con.Read(data)
+		read = (err == nil)
+		fmt.Printf(string(data[0:count]))
+	}
+	con.Close()
+}