go实现TCP服务器

package main

import (

"fmt"

"net"

)

func main() {

// 监听TCP端口

listener, err := net.Listen("tcp", "localhost:50000")

if err != nil {

fmt.Println("Error listening:", err.Error())

return

}

defer listener.Close()

fmt.Println("Listening on localhost:50000...")

// 无限循环等待并处理连接

for {

conn, err := listener.Accept()

if err != nil {

fmt.Println("Error accepting:", err.Error())

continue

}

go handleConnection(conn)

}

}

// 处理单个连接的函数

func handleConnection(conn net.Conn) {

defer conn.Close()

// 读取客户端发送的数据

buffer := make(\[\]byte, 512)

n, err := conn.Read(buffer)

if err != nil {

fmt.Println("Error reading:", err.Error())

return

}

fmt.Println("Received data:", string(buffer:n))

// 回复客户端

_, err = conn.Write(\[\]byte("Hello, client!\n"))

if err != nil {

fmt.Println("Error writing:", err.Error())

return

}

}

相关推荐
Lonely 净土3 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
城管不管3 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
聪明蛋子哟4 小时前
Stagehand v3多语言SDK:Python/Go/Rust/Java下的浏览器自动化统一方案
python·golang·rust
liuyicenysabel5 小时前
多服务上线日记三:
运维·服务器·笔记·学习
吠品6 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
我爱cope7 小时前
【计算机网络 | 网络层1:网络层的职责:IP 协议究竟解决了什么问题?】
网络·tcp/ip·计算机网络
AuTumn-L8 小时前
使用 SSH 密钥认证实现安全免密登录
服务器·安全·ssh
知无不研9 小时前
Linux I/O复用之epoll
linux·服务器·epoll·socket编程
dogstarhuang10 小时前
OpenAI GPT-5.6 降价后如何重算 API 账单?多模型路由与成本治理实战
服务器·网络·人工智能·大模型·api·ai应用开发·接口管理
fb_1234510 小时前
Linux运维封神|SELinux详解+CentOS7启动原理+Root密码重置+开机故障排查实战
linux·运维·服务器