go-tcpserver
go-tcpserver copied to clipboard
Go TCP Server library
DISCONTINUED
Please visit: github.com/orkunkaraduman/go-accepter
Go TCP Server library
Go TCP Server library provides tcpserver package implements TCP server.
Go TCP Server library has TCPServer struct
seems like Server struct of http package to create TCP servers. Also offers
TextProtocol struct as a Handler to implement text based protocols.
Examples
For more examples, examples/
examples/go-tcpserver-echoline
package main
import (
"fmt"
"log"
"github.com/orkunkaraduman/go-tcpserver"
)
func main() {
prt := &tcpserver.TextProtocol{
OnAccept: func(ctx *tcpserver.TextProtocolContext) {
ctx.WriteLine("WELCOME")
},
OnQuit: func(ctx *tcpserver.TextProtocolContext) {
ctx.WriteLine("QUIT")
},
OnReadLine: func(ctx *tcpserver.TextProtocolContext, line string) int {
fmt.Println(line)
if line == "QUIT" {
ctx.Close()
return 0
}
ctx.WriteLine(line)
return 0
},
OnReadData: func(ctx *tcpserver.TextProtocolContext, data []byte) {
},
}
srv := &tcpserver.TCPServer{
Addr: ":1234",
Handler: prt,
}
log.Fatal(srv.ListenAndServe())
}