Files
gvc/server/server.go

41 lines
1021 B
Go

package main
import (
"encoding/json"
"fmt"
"github.com/deranjer/gvc/messages"
"github.com/firstrow/tcp_server"
)
var version = "0.1"
func main() {
server := tcp_server.New("localhost:9999")
server.OnNewClient(func(c *tcp_server.Client) {
// new client connected
// lets send some message
fmt.Println("New client connected....")
c.Send("Connected\n")
})
server.OnNewMessage(func(c *tcp_server.Client, message string) {
newMessage := json.Unmarshal(message, messages.Command)
fmt.Println("new Message from client: ", newMessage.CmdID)
switch newMessage.CmdID {
case "Details\n":
fmt.Println("Sending server details to client")
detailsMessage := fmt.Sprintf("Server Details are as follows: Version: %s \n", version)
c.Send(detailsMessage)
default:
fmt.Println("unrecognized message! ", message)
}
})
server.OnClientConnectionClosed(func(c *tcp_server.Client, err error) {
// connection with client lost
fmt.Println("Connection with client closed")
})
server.Listen()
}