go实现简单的tcp编程

Posted zhangxiaoj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go实现简单的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编程的主要内容,如果未能解决你的问题,请参考以下文章

Go_socket编程

Go语言的网络编程简介

Go_socket编程

网络编程----------SOCKET编程实现简单的TCP协议

网络编程----------SOCKET编程实现简单的TCP协议

387集Go语言核心编程培训视频教材整理 | tcp编程