博客
关于我
高并发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/

你可能感兴趣的文章
php 生成证书 签名及验签
查看>>
PHP 的标准输入与输出
查看>>
php 笔记 (早前的,很乱)
查看>>
PHP 第一天
查看>>
Redis使用量暴增,快速定位有哪些大key在作怪
查看>>
PHP 统计数据功能 有感
查看>>
SpringBoot处理JSON数据
查看>>
PHP 输入输出流合集
查看>>
php--防止sql注入的方法
查看>>
php-cgi(fpm-cgi) 进程 CPU 100% 与 file_get_content...
查看>>
php-兔子问题,斐波那契数列
查看>>
php-有序数组合并后仍有序
查看>>
php-约瑟夫问题
查看>>
php.ini中常见的配置信息选项
查看>>
php.ini配置中有10处设置不当,会使网站存在安全问题
查看>>
PHP7 新特性
查看>>
PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
查看>>
php7.1.6 + redis
查看>>
php7中使用php_memcache扩展
查看>>
PHP7中十个需要避免的坑
查看>>