connx

A simple tcp server/client go framework.

Stars
7

devfeel/connx

A simple tcp server/client go framework.

Feature:

  • Server/Client
  • Server
  • ClientSend+Write\OnlySend
  • Message
  • HeadFlag

Code:

server code:

func main(){
	server, err := connx.NewServer("127.0.0.1:7069", onConnHandler)
	if err != nil{
		fmt.Println("GetNewServer error", err)
		return
	}
	fmt.Println("GetNewServer begin listen")
	server.Start()
}


func onConnHandler(conn *connx.Connection) error{
	msg, err := conn.ParseMessage()
	fmt.Println(msg, err)

	msgReply := connx.ResponseMessage("echo ok")
	conn.SendMessage(msgReply)
	return nil
}

client code:

func main(){
	client := connx.NewClient("127.0.0.1:7069", onConnHandler)
	go func(){
		for{
			err := client.Send(connx.RequestMessage("test client"))
			if err != nil{
				fmt.Println("Send login message failed", err)
			}else{
				fmt.Println("Send login message success")
			}
			time.Sleep(time.Second*10)
		}
	}()

	for{
		select{}
	}
}

func onConnHandler(conn *connx.Connection) error{
	msg, err := conn.ParseMessage()
	fmt.Println(msg, err)
	return nil
}