博客
关于我
高并发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 列表中dict中key排序
查看>>
Python 列表删除相同的元素
查看>>
Python 初学者需要知道的四条建议
查看>>
Python 判断字符串是否包含子字符串
查看>>
python 判断当前时间是否为零点
查看>>
python 利用pandas读取本地中CSV文件的指定列 列名重命名 并保存回本地
查看>>
python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
查看>>
python 利用pyttsx3文字转语音
查看>>
python 利用已有Ner模型进行数据清洗合并
查看>>
python 到大数据开发工程师_如何成为一个大数据开发工程师?
查看>>
python 加密解密(base64, AES)
查看>>
Python 和Java 哪个更适合做自动化测试?
查看>>
python 图片转ico
查看>>
python 图片转文字、语音转文字、文字转语音保存音频并朗读
查看>>
python 在包含类似字符\x16、\x12、\x某某的数组中将以\x开头的字符找出来的方法
查看>>
Python 在并行进程之间共享字典
查看>>
Python 垃圾收集器文档
查看>>
python 基于 wordcloud + jieba + matplotlib 生成词云
查看>>
python 基于detectron或mask_rcnn的mask遮罩区域进行图片截取
查看>>