Go语言之进阶篇服务器如何知道用户需要什么资源

Posted 努力哥-运维自动化

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言之进阶篇服务器如何知道用户需要什么资源相关的知识,希望对你有一定的参考价值。

1、服务器如何知道用户需要什么资源

示例:

package main

import (
	"fmt"
	"net"
)

func main() {
	//监听
	listener, err := net.Listen("tcp", ":8000")
	if err != nil {
		fmt.Println("Listen err = ", err)
		return
	}

	defer listener.Close()

	//阻塞等待用户的连接
	conn, err1 := listener.Accept()
	if err1 != nil {
		fmt.Println("Accept err1 = ", err1)
		return
	}

	defer conn.Close()

	//接收客户端的数据
	buf := make([]byte, 1024*4)
	n, err2 := conn.Read(buf)
	if n == 0 {
		fmt.Println("Read err = ", err2)
		return
	}

	fmt.Printf("#%v#", string(buf[:n]))

}

执行结果:

#GET /mike.html HTTP/1.1  #接文件名称
Host: 127.0.0.1:8000
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

  

 

以上是关于Go语言之进阶篇服务器如何知道用户需要什么资源的主要内容,如果未能解决你的问题,请参考以下文章

Go语言之进阶篇响应报文测试方法

Go语言之进阶篇TCP相互通信

go语音之进阶篇多任务资源竞争问题

go语音之进阶篇方法面向过程和对象函数的区别

Go语言之进阶篇连接mysql

Go语言之进阶篇爬百度贴吧并发版