写一段golang的长连接代码
以下是一个简单的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秒钟发送一个心跳包。在实际应用中,可以根据需要修改和优化这个示例。
原文地址: https://www.cveoy.top/t/topic/qQ9 著作权归作者所有。请勿转载和采集!