go socket 服务端处理多用户
Posted paulversion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go socket 服务端处理多用户相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"net"
"strings"
)
func main()
listener, err := net.Listen("tcp", "127.0.0.1:8000")
if err != nil
fmt.Println(err.Error())
return
defer listener.Close()
//接收多个用户
for
conn, err := listener.Accept()
if err != nil
fmt.Println(err.Error())
return
//处理用户的连接
go handleConn(conn)
func handleConn(conn net.Conn)
defer conn.Close()
buff := make([]byte, 1024)
for
n, err := conn.Read(buff)
if err != nil
fmt.Println(err)
return
content := string(buff[:n])
fmt.Println("content=", string(buff[:n]))
content = strings.ToUpper(content)
conn.Write([]byte(content))
以上是关于go socket 服务端处理多用户的主要内容,如果未能解决你的问题,请参考以下文章
51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记
Socket压力测试问题,服务端Socket长连接循环接收并处理信息
C# socket服务器端 多线程客户端 如何少量使用CPU