diff --git a/HTTP/fronted.html b/HTTP/fronted.html new file mode 100644 index 0000000..02241f7 --- /dev/null +++ b/HTTP/fronted.html @@ -0,0 +1,9 @@ +

hello world

+跳转百度 + + + \ No newline at end of file diff --git a/HTTP/http_server.go b/HTTP/http_server.go new file mode 100644 index 0000000..6716800 --- /dev/null +++ b/HTTP/http_server.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + "net/http" + "os" +) + +func f1(w http.ResponseWriter, r *http.Request) { + b, err := os.ReadFile("./HTTP/fronted.html") + if err != nil { + w.Write([]byte(fmt.Sprintf("%v", err))) + return + } + w.Write(b) + +} + +// http server +func main() { + http.HandleFunc("/web", f1) + http.ListenAndServe("127.0.0.1:9090", nil) + +} diff --git a/networkProgram/NetworkProgram.log b/networkProgram/NetworkProgram.log index 639691c..3a4102e 100644 --- a/networkProgram/NetworkProgram.log +++ b/networkProgram/NetworkProgram.log @@ -32,5 +32,11 @@ TCP服务端程序的处理流程: 3.关闭链接 TCP粘包 +主要原因就是tcp数据传递模式是流模式,在保持长连接的时候可以进行多次的收和发。 + +“粘包"可发生在发送端也可发生在接收端: + +由Nagle算法造成的发送端的粘包:Nagle算法是一种改善网络传输效率的算法。简单来说就是当我们提交一段数据给TCP发送时,TCP并不立刻发送此段数据,而是等待一小段时间看看在等待期间是否还有要发送的数据,若有则会一次把这两段数据发送出去。 +接收端接收不及时造成的接收端粘包:TCP会把接收到的数据存在自己的缓冲区中,然后通知应用层取数据。当应用层由于某些原因不能及时的把TCP的数据取出来,就会造成TCP缓冲区中存放了几段数据。 引申知识点: 大端和小端{https://zhuanlan.zhihu.com/p/680366680} \ No newline at end of file