[Go] 轻量服务器框架基础TCP服务模块

前端之家收集整理的这篇文章主要介绍了[Go] 轻量服务器框架基础TCP服务模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

框架要先把整体的结构定义好,一般都是在$GOPATH目录的src下建立自己的目录

 

 zinterface是一些接口的定义

znet就是接口的具体实现

IServer.go

package zinterface

type IServer interface{
    Start()
    Stop()
    Server()
}

server.go一个tcp服务端的基本业务,简单的原样回显

package znet

import (
    "fmt"
    lognetzinx/zinterface"
)

type Server struct {
    Name      string
    IP        
    IPversion 
    Port      int
}

func (s *Server) Start() {
    log.Printf(%s %s:%d start...\n,s.Name,s.IP,s.Port)
    addr,err := net.ResolveTCPAddr(s.IPversion,fmt.Sprintf(%s:%dif err != nil {
        log.Println(resolve tcp addr err  net.ListenTCP(s.IPversion,addr)
    listen tcp err for {
            conn,1)"> listener.AcceptTCP()
             nil {
                log.Println(accept tcp err  {
                    b := make([]byte,512)
                    len,1)"> conn.Read(b)
                     nil {
                        log.Println(read tcp err if _,err := conn.Write(b[:len]); err !=write tcp err Server) Stop() {

}
func (s *Server) Server() {
    s.Start()
    select{}
}
func NewServer(name ) zinterface.IServer {
    s := &Server{
        Name:      name,IP:        0.0.0.0tcp48999

 

 server.go

package main

import (
    zinx/znet
)
func main()  {
    server:=znet.NewServer([zinx])
    server.Server()
}

 

猜你在找的Go相关文章