go socket 服务端处理多用户
2024-09-22 10:42:42
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))
}
}
最新文章
- Modbus RTU程序开发解读
- java 绘图
- tnsnames.ora 监听配置文件详解
- VMware的使用
- 第一章 初识MVC4
- 图片lightbox2
- Working with Data » 使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程
- 使用委托(C# 编程指南)
- jquery常用代码集锦
- c++一些问题总结
- 【转】C++笔试题汇总
- Solr4.4.0部署到tomcat上
- C#随机生成连续多少个十六进制数字
- Memcache存储机制与指令汇总
- 201521123118《java程序与设计》第6周学习总结
- Android视频录制从不入门到入门系列教程(四)————Camera Parameter
- windbg调试子进程
- 如何消除手机设置的字体大小对Cordova app(Android)界面font-size的影响
- 树莓派dhcp server
- Mybatis常用标签使用
热门文章
- [转帖]UID卡、CUID卡、FUID卡、UFUID卡的区别及写入方式
- 43 多线程(十三)——CAS(了解即可)
- 对JAVA工程师绝对有用的Java学习资源清单
- R学习笔记1 介绍R的使用
- delphi indy Idhttp error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version
- Spring Cloud Alibaba学习笔记(20) - Spring Cloud Gateway 内置的全局过滤器
- 无法将文件xxx复制到xxx文件xxx正由另一进程使用,因此该进程无法访问此文件
- 第一个.NET小程序
- postman调用webapi错误记录
- 5_PHP数组_3_数组处理函数及其应用_4_数组和变量间的转换函数