发布于2026-07-29 阅读(0)
扫一扫,手机访问
在Debian上用Golang搞网络编程,其实没那么玄乎,按下面这几步走就行。当然,前提是你得先有个Debian系统,然后装好Go语言环境——这俩是基础,缺一不可。
安装Golang:先确认你的Debian上有没有装Golang。如果没装,去官网(https://golang.org/dl/)下载对应Debian的版本,安装步骤官网写得很清楚,跟着走就行。装完可以用go version验证一下。
创建项目目录和入口文件:在你喜欢的目录下建个新文件夹,比如my-network-app,然后在这个文件夹里创建main.go文件。这个文件就是整个网络应用的起点。
写代码:在main.go里写你的网络应用代码。下面是一个简单的TCP服务器示例,它监听8080端口,接受客户端连接,收到消息后把消息原样回显过去。
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 connection:", err.Error())
continue
}
go handleRequest(conn)
}
}
func handleRequest(conn net.Conn) {
defer conn.Close()
reader := bufio.NewReader(conn)
message, err := reader.ReadString('\n')
if err != nil {
fmt.Println("Error reading:", err.Error())
return
}
fmt.Print("Message received: ", string(message))
conn.Write([]byte("Message received\n"))
}
这个例子麻雀虽小五脏俱全,你可以把它当成一个模板,后面再根据需求扩展,比如加上超时、TLS、并发控制等。
运行起来:在终端里切换到main.go所在的目录,执行下面两条命令:
go build main.go
./main
第一条命令会编译生成可执行文件,第二条就直接运行。如果一切顺利,你会看到终端输出 Listening on :8080。
测试一下:打开另一个终端,用telnet或nc(netcat)连接服务器:
telnet localhost 8080
连接成功后,输入一行文本按回车,如果服务器回显了同样的内容,说明一切正常。你也可以用nc代替telnet,效果一样。
当然,这只是个入门示例。Go的标准库非常强大,HTTP服务器、客户端、TCP/UDP、甚至WebSocket都有现成的包,可以让你轻松实现各种网络功能。比如把上面这个TCP服务器改成HTTP服务器,只需要换用net/http包,改几行代码就行。根据你的实际需求,去翻文档、查示例,很快就能上手。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8