Golang在Linux中的网络编程怎样做
Golang标准库net支持TCP、UDP等协议,通过TCP服务端监听8080端口,每连接启用goroutine处理,客户端连接后双向收发消息,实现简洁高效的回显服务。该示例是学习Go并发网络编程的经典入门案例,展示了协程处理多连接的简便性。
说到Linux下的Golang网络编程,标准库net可以说是一把趁手的利器。它覆盖了TCP、UDP、ICMP乃至Unix域套接字等常见协议,基本上日常需求都能搞定。下面用一个典型的TCP服务端+客户端示例,带你快速上手。

一、先搭一个TCP服务器
package main
import (
"bufio"
"fmt"
"net"
"os"
)
func main() {
port := "8080"
listener, err := net.Listen("tcp", ":"+port)
if err != nil {
fmt.Println("Error listening:", err.Error())
os.Exit(1)
}
defer listener.Close()
fmt.Println("Listening on " + port)
for {
conn, err := listener.Accept()
if err != nil {
fmt.Println("Error accepting: ", err.Error())
continue
}
go handleRequest(conn)
}
}
func handleRequest(conn net.Conn) {
defer conn.Close()
reader := bufio.NewReader(conn)
for {
message, err := reader.ReadString('\n')
if err != nil {
fmt.Println("Error reading:", err.Error())
return
}
fmt.Print("Received message: ", string(message))
conn.Write([]byte("Message received\n"))
}
}
这段代码监听8080端口,每来一个连接就开一个goroutine去处理,子协程里不停地读消息并回复确认。典型的并发模型,简洁又高效。
二、再写一个TCP客户端
package main
import (
"bufio"
"fmt"
"net"
"os"
"strings"
)
func main() {
server := "127.0.0.1"
port := "8080"
conn, err := net.Dial("tcp", server+":"+port)
if err != nil {
fmt.Println("Error connecting:", err.Error())
os.Exit(1)
}
defer conn.Close()
go func() {
reader := bufio.NewReader(conn)
for {
message, err := reader.ReadString('\n')
if err != nil {
fmt.Println("Error reading:", err.Error())
return
}
fmt.Print("Received message: ", string(message))
}
}()
reader := bufio.NewReader(os.Stdin)
for {
fmt.Print("Enter message: ")
text, _ := reader.ReadString('\n')
conn.Write([]byte(text))
if strings.ToLower(text) == "exit" {
break
}
}
}
客户端这边,先连上服务端,然后开一个后台goroutine持续接收服务端回显的消息,主协程则从标准输入读用户输入,发出去。输入“exit”退出。
三、跑起来看看
先启动服务器程序,再启动客户端。在客户端输入任意消息,服务器会接收到并回复“Message received”,客户端则打印出这个回复。整个过程很直观,一个最小可用的TCP回显服务就完成了。
当然,这只是个入门示例。net库还藏着不少好东西:处理HTTP请求、解析DNS、构建UDP广播……更多玩法可以直接翻官方文档:https://pkg.go.dev/net。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















