今天谈谈golang源码netpoll部分实现的细节和协程阻塞调度原理epoll原理epoll是linux环境下i/o多路复用的模型,结合下图简单说明epoll工作原理上图说明了epoll生成描epoll表的基本流程,生成socket用来绑定和监听新的连接,将该socket放入epoll内核表,然后调用wait等待就绪事件。当epoll wait返回就绪事件时,判断是否是新的连接,如果是新的连接则
引子:在之前的文章里 golang netpoll的实现与分析 讲了一些,对于golang netpoll的实现,但是,数据是怎么通过硬件到达golang的这块不是太明确,今天就主要分析下这一块。 linux的网络的基本...
转载 2021-10-11 17:56:00
542阅读
2评论
# 从零开始实现一个 golang http 服务 ## 前言 欢迎你来到golang的世界!本文将带你一步步实现一个简单的golang http服务。首先,我们需要了解整个过程的流程,然后我们会详细讲解每一步需要做什么以及相应的代码示例。 ## 流程概述 | 步骤 | 描述 | |------|------------------
原创 2024-04-24 11:03:33
62阅读
源码展示 这里展示了 net/http 包的两个接口的源码:ListenAndServe、Serve ListenAndServe接口做了以下事情: 设置地址类型 生成侦听器 开启Serve func (srv *Server) ListenAndServe() error { if srv.shu ...
转载 2021-10-28 11:39:00
353阅读
2评论
Golang是一种使用Go语言编程的http client非常方便的一种方法。在Kubernetes(K8S)中,我们经常需要使用http client来与其他服务进行通信。在本文中,我将向你介绍如何在Golang中实现一个http client,并使用这个client来与其他服务进行通信。 首先,让我们来看一下整个实现过程的流程,如下表所示: | 步骤 | 描述
原创 2024-05-06 10:37:30
65阅读
# 用Golang实现HTTP请求 作为一名开发者,我们经常需要向其他服务发送HTTP请求来获取数据或完成相应的操作。在Golang中,可以使用标准库中的net/http包来实现HTTP请求。接下来,我将介绍如何使用Golang发送HTTP请求,并给出相应的代码示例。 ## 实现步骤 下面是实现HTTP请求的整个流程,我们将通过以下步骤完成: | 步骤 | 描述 | | ---- | --
原创 2024-05-30 10:34:22
107阅读
# 实现golang http proxy ## 流程步骤 | 步骤 | 动作 | | ------ | ----- | | 1 | 创建一个http服务器来接收客户端请求 | | 2 | 创建一个http客户端来处理代理请求 | | 3 | 将客户端的请求通过代理发送到目标服务器 | | 4 | 将目标服务器的响应通过代理发送给客户端 | ## 代码示例 ### 步骤1:创建一个htt
原创 2024-05-28 11:13:06
166阅读
   首先,我们在服务器端设定两个路由,/upload用于文件上传,/files/*用于文件下载。   const maxUploadSize = 2 * 1024 * 2014 // 2 MB   const uploadPath = "./tmp"   func main() {   http.HandleFunc("/upload", uploadFileHandle
转载 2018-09-18 09:52:00
542阅读
2评论
## 用Golang发起HTTP请求到Java 在开发过程中,经常会遇到需要不同的编程语言之间进行通信的情况。在这篇文章中,我们将介绍如何使用Golang发起HTTP请求到Java的服务器,并给出相应的代码示例。 ### HTTP请求的基本原理 HTTP(超文本传输协议)是一种用于传输超媒体文档的应用层协议。在进行HTTP请求时,客户端会向服务器发送请求,服务器则会响应相应的数据。 在Go
原创 2023-12-13 10:02:43
28阅读
服务端package mainimport ( "fmt" "net/http")func Handler(write
原创 2022-07-18 21:14:39
119阅读
服务端http http客户端 http_head http_head自定义超时写法 http_form写法 http_template,模板写法 index.html 用例2: package main import ( "fmt" "html/template" "io" "net/http"
原创 2021-05-11 15:05:44
400阅读
net/http 包的学习笔记
原创 2023-06-20 10:48:57
126阅读
1. 前言http包包含http客户端和服务端的实现,利用Get,Head,Post,以及PostForm实现HTTP或者HTTPS的请求.2. 本文分析内容安排函数结构3. 函数3.1 服务端函数func Handle(pattern string, handler Handler)将handler按照指定的格式注册到DefaultServeMux,ServeMux解释了模式匹配规则 
转载 2017-01-17 15:35:09
2753阅读
GET请求不带参数直接请求import (    "fmt"    "net/http")func main(){    resp, err := http.Get("https://www.baidu.com/")    if err != nil {        log.F
原创 2017-10-09 14:31:23
1262阅读
1. http server package main import ( "fmt" "net/http" ) func main() { // 请求url和对应处理函数 http.HandleFunc("/hello", myHandleFunc) // 开启服务 http.ListenAndSe ...
转载 2021-11-01 16:35:00
135阅读
2评论
# 详解Golang中的http.NewRequest ## 简介 在Golang中,我们可以使用`http.NewRequest`函数来创建一个HTTP请求。这个函数的作用是创建一个新的请求,它接收一个方法、一个URL和一个可选的请求体作为参数,并返回一个`*http.Request`类型的实例。在这篇文章中,我将介绍如何使用`http.NewRequest`函数,以及一些相关的知识点。 #
原创 2024-05-06 10:36:25
151阅读
golang设置http代理,访问duckduckgo
Golang提供了官方的http包,对于http操作非常的方便和简洁。但是不同于PHP,使用Golang的包来做http操作,还是没有那么”直接“,需要实例化一下这个,实例化一下那个,有点像Java,因此,为了以后书写方便,就把基本的请求写在此。下次用的时候,直接copy就好了。get 请求get请求有好几种方式直接使用net/http包内的函数请求import "net/http" ... re
转载 2023-12-26 11:30:23
56阅读
golang实现一个简单的http server如果搜索golang http server,会发现网上有很多不同的写法,本节将介绍多种写法,并把他们的关系捋清楚。写法1直接传入函数func SayHello(w http.ResponseWriter, r *http.Request) {     w.Write([]byte("hello")) } func main() { http.Han
原创 2021-04-04 19:31:11
359阅读
golang 处理http请求 端口9089package main import ( "fmt" "net/http" ) func main() { fmt.Println("服务启动成功!") http.HandleFunc("/test", myHandler) http.ListenAndServe(":9089", nil) } func myHandler(resp
原创 2023-10-30 10:26:28
112阅读
  • 1
  • 2
  • 3
  • 4
  • 5