博客
关于我
高并发C/S的TCP版本golang实现
阅读量:267 次
发布时间:2019-03-01

本文共 1122 字,大约阅读时间需要 3 分钟。

Go?????????????????????????????????????????

???????????????????????????Go?????????????????????????????? goroutine ??????????????????????

package mainimport (	"fmt"	"net"	"strings")// ???Read???????0 ??????func main() {	// ???????	listener, err := net.Listen("tcp", "127.0.0.1:8001")	if err != nil {		fmt.Println("listen err", err)		return	}	defer listener.Close()	for {		// ?????????		fmt.Println("??????????")		conn, err := listener.Accept()		if err != nil {			fmt.Println("listener.Accept err", err)			return		}		// ????????????????		go HandlerConnect(conn)	}}func HandlerConnect(conn net.Conn) {	defer conn.Close()	// ????????Addr	addr := conn.RemoteAddr()	fmt.Println(addr, "???????---")	// ???????????	buf := make([]byte, 4096)	for {		n, err := conn.Read(buf)		if n == 0 {			fmt.Println("?????????????????")			return		}		if err != nil {			fmt.Println("conn Read err", err)			return		}		fmt.Println("????????", string(buf[:n]))		// ???????		conn.Write([]byte(strings.ToUpper(string(buf[:n])))	}}

???????????Go???????????????????????????????? goroutine ??????????????????? goroutine ???????????Go????????

转载地址:http://eqpv.baihongyu.com/

你可能感兴趣的文章
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>
python各进制的表述与转换
查看>>
python各种库安装
查看>>
python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
查看>>
python可维护性_使用这7大神器,让你的Python 代码更容易于维护
查看>>
python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
查看>>
Python变量命名方法-ChatGPT4o作答
查看>>
Python变量与运算符
查看>>
python单元测试之unittest
查看>>
Python单元测试unittest实战
查看>>
python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
查看>>
Python十进制&;包提供错误的结果
查看>>
Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
查看>>
Python加速运行技巧
查看>>
python办公自动化基础遍历文件夹
查看>>