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

}

}

相关推荐
江畔何人初1 小时前
iptables 和 IPVS 代理模式 Service 的区别
linux·运维·服务器·网络·云原生·kubernetes·代理模式
七度黑光4 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化
xuefeiniao4 小时前
docker.desktop无法启动,导出镜像后
服务器·docker
evo-master6 小时前
网络故障排除方法
linux·服务器·网络
爱学习的小囧7 小时前
VMware Horizon 8 智能卡认证信任库配置攻略:新增 Root CA 导入指南
服务器·esxi·vmware·horizon
糖炒栗子03268 小时前
Go 语言环境搭建与版本管理指南 (2026)
开发语言·后端·golang
今天也要学习吖8 小时前
开源AI智能客服系统AI-CS
人工智能·ui·chatgpt·golang·开源·gemini·智能客服系统
Magic--9 小时前
深入解析管道:最基础的进程间通信(IPC)实现
java·服务器·unix
三三有猫10 小时前
代理IP:按流量还是按IP/时长计费更划算?
网络·网络协议·tcp/ip
zihao_tom10 小时前
Go环境搭建(vscode调试)
开发语言·vscode·golang