商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Golang如何在Debian中进行网络编程

Golang如何在Debian中进行网络编程

  发布于2026-07-04 阅读(0)

扫一扫,手机访问

在 Debian 上搞 Golang 网络编程,其实并不复杂,跟着下面这几步走就行。整个过程说白了就是:装环境 → 建项目 → 写代码 → 跑起来 → 测一测。咱们一个一个来看。

Golang如何在Debian中进行网络编程

第一步:安装 Go 语言环境

如果系统里还没装 Go,先去官方下载页面(golang.org/dl)把适用于 Debian 的安装包拿下来,然后照着官方文档的说明装好。这一步没什么捷径,但胜在稳。装完之后建议顺手验证一下:go version,看到版本号输出就代表环境就绪了。

第二步:创建项目目录

在你的工作区里新建一个文件夹,名字随意,比如就叫 network-programming。然后进入这个目录:

mkdir network-programming
cd network-programming

这一步其实就是给项目搭个窝,后面所有代码都放在这里面。

第三步:编写网络编程代码

在项目文件夹里创建一个 main.go 文件,然后把下面这个 TCP 服务器的示例代码丢进去:

package main

import (
    "bufio"
    "fmt"
    "net"
    "os"
)

func main() {
    // 监听端口
    listener, err := net.Listen("tcp", ":8080")
    if err != nil {
        fmt.Println("Error listening:", err.Error())
        os.Exit(1)
    }
    defer listener.Close()
    fmt.Println("Listening on :8080")

    for {
        // 接受客户端连接
        conn, err := listener.Accept()
        if err != nil {
            fmt.Println("Error accepting: ", err.Error())
            os.Exit(1)
        }
        // 处理客户端连接
        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: ", message)
    // 向客户端发送响应
    conn.Write([]byte("Hello from Go server!\n"))
}

这段代码做了三件事:监听 8080 端口、等待客户端连进来、每来一个连接就开一个 goroutine 去处理。核心逻辑是通过 net.Listen 建立 TCP 监听,再用 Accept 接受连接,然后读数据、回消息。思路非常清晰,适合作为起点。

第四步:运行程序

在项目目录下直接执行:

go run main.go

终端会输出 Listening on :8080,这就说明服务器已经跑起来了。此时程序处于阻塞状态,等待客户端连接。

第五步:测试网络连接

另开一个终端,用 telnet localhost 8080 或者 nc localhost 8080 连上去,随便发点数据。比如输入 hello 然后回车,你会看到服务端打印出接收到的消息,同时客户端也会收到服务器返回的 Hello from Go server!

以上就是 Debian 环境下 Golang 网络编程最基础的流程。当然,这只是一个简单的 TCP 示范,实际项目里还需要考虑错误处理、超时、并发控制、协议解析等等。不过有了这个骨架,后续要扩展成 HTTP 服务器、WebSocket、或者自定义协议,无非就是在 handleRequest 里多写几行逻辑的事。关键是把环境配好,把第一个连接跑通,后面就顺了。

本文转载于:https://www.yisu.com/ask/83089240.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注