github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/prepare/09_rpc/tcp/server.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/qiuhoude/go-web/prepare/09_rpc/moudle"
     5  	"log"
     6  	"net"
     7  	"net/rpc"
     8  )
     9  
    10  func main() {
    11  	rect := new(moudle.Rect)
    12  	//注册一个rect服务
    13  	rpc.Register(rect)
    14  
    15  	addr, err := net.ResolveTCPAddr("tcp", ":8000")
    16  	if err != nil {
    17  		log.Fatal(err)
    18  	}
    19  	listener, err := net.ListenTCP("tcp", addr)
    20  	if err != nil {
    21  		log.Fatal(err)
    22  	}
    23  	for {
    24  		conn, err := listener.Accept()
    25  		if err != nil {
    26  			continue
    27  		}
    28  		rpc.ServeConn(conn)
    29  	}
    30  
    31  }