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学习笔记

Go语言中Socket通信TCP服务端

Socket压力测试问题,服务端Socket长连接循环接收并处理信息

C# socket服务器端 多线程客户端 如何少量使用CPU

go语言实现unix domain socket 客户端/服务端

进度条 --- socket ---socketserver