码迷,mamicode.com
首页 > 其他好文 > 详细

go实现简单的tcp编程

时间:2019-07-31 01:00:09      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:code   serve   pac   image   pack   窗口   process   close   tcp编程   

服务端的代码

package main

import (
	"fmt"
	"net"
)

func main () {
	fmt.Println("start server...")

	//Listen来创建服务端
	ln, err := net.Listen("tcp", ":10010")

	if err != nil {
		fmt.Println("listen failed, err:", err)
		return
	}

	for {
		conn, err := ln.Accept()
		if err != nil {
			fmt.Println("accept failed, err:", err)
			continue
		}

		//开启新的gouroutine 去处理请求
		//每个请求开启一个goroutine
		go process(conn)
	}
}

func process (conn net.Conn) {
	defer conn.Close()

	for {
		buf := make([]byte, 512)
		_, err := conn.Read(buf)

		if err != nil {
			fmt.Println("read failed, err:", err)
			return
		}

		fmt.Println("read:", string(buf))
	}
}

  先编译,然后执行,开启服务端

  技术图片

 

  然后新开一个窗口,作为客户端请求

  技术图片

 

go实现简单的tcp编程

标签:code   serve   pac   image   pack   窗口   process   close   tcp编程   

原文地址:https://www.cnblogs.com/zhangxiaoj/p/11273525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!