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

}

}

相关推荐
YJlio4 分钟前
ZoomIt 学习笔记(11.9):绘图模式——演示时“手写板”:标注、圈画、临时白板
服务器·笔记·学习
码界奇点4 分钟前
基于Golang的分布式综合资产管理系统设计与实现
开发语言·分布式·golang·毕业设计·go语言·源代码管理
满天星83035777 分钟前
【Linux】信号(下)
android·linux·运维·服务器·开发语言·性能优化
濊繵10 分钟前
Linux网络--IP 分片和组装的具体过程
linux·网络·tcp/ip
牛老师讲GIS11 分钟前
2025年前端开发的未来:服务器优先、人工智能驱动、更贴近底层
运维·服务器·人工智能
百锦再12 分钟前
【无标题】
服务器·ai·k8s·京东云·core·net·云鼎
JY.yuyu13 分钟前
ACL访问控制列表
运维·服务器·网络
周杰伦_Jay16 分钟前
【tRPC-Go 框架】深度解析:特性、架构及与主流RPC框架对比
rpc·架构·golang
艾莉丝努力练剑26 分钟前
【Python库和代码案例:第一课】Python 标准库与第三方库实战指南:从日期处理到 Excel 操作
java·服务器·开发语言·人工智能·python·pycharm·pip
福尔摩斯张33 分钟前
【实战】C/C++ 实现 PC 热点(手动开启)+ 手机 UDP 自动发现 + TCP 通信全流程(超详细)
linux·c语言·c++·tcp/ip·算法·智能手机·udp