tcpserver

package module
v0.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2020 License: MIT Imports: 8 Imported by: 0

README

tcpserver

Installation

$: go get github.com/x-mod/tcpserver

Quick Start

import (
    "net"
    "log"
	"context"
	"github.com/x-mod/tcpserver"
)

func EchoHandler(ctx context.Context, con net.Conn) error {
    //TODO LOGIC
    return nil
}

func main() {
	srv := tcpserver.New(
		tcpserver.Address(":8080"),
		//tcpserver.TLSConfig(tlsconfig),
		tcpserver.TCPHandler(EchoHandler),
	)
	if err := srv.Serve(context.TODO()); err != nil {
		log.Println("tcpserver failed:", err)
	}
}

More Details, Pls check the example.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler func(ctx context.Context, conn net.Conn) error

Handler connection handler definition

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server represent tcpserver

func New added in v0.2.0

func New(opts ...ServerOpt) *Server

NewServer create a new tcpserver

func (*Server) Close added in v0.1.1

func (srv *Server) Close()

Close tcpserver waiting all connections finished

func (*Server) Serve

func (srv *Server) Serve(ctx context.Context) error

Serve tcpserver serving

type ServerOpt

type ServerOpt func(*Server)

ServerOpt typedef

func Address

func Address(addr string) ServerOpt

Address option for listener

func Listener added in v0.2.0

func Listener(ln net.Listener) ServerOpt

Listener option for listener

func Name added in v0.2.3

func Name(name string) ServerOpt

Name option for tcpserver

func NetTrace added in v0.2.4

func NetTrace(flag bool) ServerOpt

func Network

func Network(inet string) ServerOpt

Network option for listener

func TCPHandler added in v0.2.0

func TCPHandler(h Handler) ServerOpt

TCPHandler option for Connection Handler

func TLSConfig added in v0.2.2

func TLSConfig(tls *tls.Config) ServerOpt

TLSConfig option

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL