在Go中构建并发TCP服务器-创新互联

开发一个并发TCP服务器,该服务器仅使用大约65行GO代码生成随机数。

创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、成都服务器托管、云服务器、虚拟空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟空间、空间域名、VPS主机、云服务器、香港云服务器、免备案服务器等。

TCP和UDP服务器随处可见,通过TCP/IP网络为网络客户端提供服务。在本文中,我将在GO编程语言,返回随机数。对于来自TCP客户端的每个传入连接,TCP服务器将启动一个新的goroutine来处理该请求。
你可以找到这个项目,concTCP.go,在GitHub上。

处理TCP连接

程序的逻辑可以在handleConnection()职能,其实现方式如下:

func handleConnection(c net.Conn) {
    fmt.Printf("Serving %s\n", c.RemoteAddr().String())
    for {
        netData, err := bufio.NewReader(c).ReadString('\n')
        if err != nil {
            fmt.Println(err)
            return
        }
        temp := strings.TrimSpace(string(netData))
        if temp == "STOP" {
            break
        }
        result := strconv.Itoa(random()) + "\n"
        c.Write([]byte(string(result)))
    }
    c.Close()
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:在Go中构建并发TCP服务器-创新互联
文章地址:http://hbruida.cn/article/dpiggd.html