GolangNote

Golang笔记

golang 简单网络服务编程入门

Permalink

做一个简单的server,每到来一个连接,就启用一个新的 goroutine 来进行处理

Go: 网络服务编程入门
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
func main() {
    ln, err := net.Listen("tcp", ":8080")
    checkError(err)
    for {
        conn, err := ln.Accept()
        if err != nil {
            continue
        }
        go run(conn)

    }
}

func run(conn net.Conn) {
    buffer := make([]byte, 1024)
    defer conn.Close()

    for {
        n, err := conn.Read(buffer)
        if err != nil {
            return
        }
        fmt.Println("read:", string(buffer[:n]))
    }
}

本文网址: https://golangnote.com/topic/153.html 转摘请注明来源

Related articles

Golang http IPv4/IPv6 服务

Golang 的网络服务,如果不指定IPv4 或 IPv6,如果VPS 同时支持 IPv4 和 IPv6,`net.Listen()` 只会监听 IPv6 地址。但这不影响客户端使用 IPv4 地址来访问。...

Golang quicktemplate 模版快速入门

Golang 有很多的模版引擎,自带的 `html/template` 也很好,大多数情况都能满足需求,只是有些逻辑、条件判断不好在模版里实现, `quicktemplate` 是个很好的选择。...

Golang实现简单的Socks5代理

Socks5 代理较 `http/https` 代理有较好的性能,下面是借鉴某个著名开源软件的 local 实现的简单代理。...

golang snappy 的使用场合

google 自家的 snappy 压缩优点是非常高的速度和合理的压缩率。压缩率比 gzip 小,CPU 占用小。...

Write a Comment to "golang 简单网络服务编程入门"

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.18 Processed in 1ms