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

}

}

相关推荐
AI科技星1 小时前
张祥前统一场论宇宙大统一方程的求导验证
服务器·人工智能·科技·线性代数·算法·生活
魂万劫1 小时前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
Xの哲學2 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
不哦罗密经2 小时前
python相关
服务器·前端·python
李迟2 小时前
Golang实践录:使用sqlx操作sqlite3数据库
数据库·golang·sqlite
2501_945837433 小时前
云服务器的技术本质与发展演进
服务器
晚枫歌F3 小时前
TCP协议详解
网络·网络协议·tcp/ip
tang777893 小时前
Python爬虫代理,选短效IP还是长效IP?
爬虫·python·tcp/ip
取加若则_4 小时前
深入解析Linux进程优先级机制
linux·服务器
点亮一颗LED(从入门到放弃)4 小时前
设备模型(10)
linux·服务器·前端