以下是一个简单的golang长连接示例:

package main

import (
    "fmt"
    "net"
    "time"
)

func main() {
    host := "localhost"
    port := "8080"

    // 建立连接
    conn, err := net.Dial("tcp", host+":"+port)
    if err != nil {
        fmt.Println("连接出错:", err)
        return
    }
    defer conn.Close()

    // 循环读取服务端的数据
    for {
        buffer := make([]byte, 1024)
        n, err := conn.Read(buffer)
        if err != nil {
            fmt.Println("读取出错:", err)
            break
        }

        // 打印服务端的响应
        fmt.Println(string(buffer[:n]))

        // 发送心跳包
        _, err = conn.Write([]byte("ping"))
        if err != nil {
            fmt.Println("发送心跳包出错:", err)
            break
        }

        time.Sleep(time.Second * 10)
    }
}

这个示例建立了一个TCP连接到localhost:8080,并循环读取服务端的响应。每隔10秒钟发送一个心跳包。在实际应用中,可以根据需要修改和优化这个示例。

写一段golang的长连接代码

原文地址: https://www.cveoy.top/t/topic/qQ9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录