This commit is contained in:
Pin
2024-03-07 21:03:27 -05:00
parent 855c1a075f
commit 995a2bd30a
13 changed files with 360 additions and 68 deletions

View File

@@ -1,6 +1,44 @@
package utils
import (
"encoding/base64"
"log"
"net"
"strings"
"saprusserver/structs"
)
func (c *SocketCall) GatherSaprusHeader(buf []byte) structs.SaprusHeaderFrame {
data := structs.SaprusHeaderFrame {
PacketType: [2]byte{buf[0], buf[1]},
Length: [2]byte{buf[2], buf[3]},
}
return data
}
func ProcessRequests(buf []byte, addr net.Addr) {
c := SocketCall{}
msg := "hello world"
b64Msg := base64.StdEncoding.EncodeToString([]byte(msg))
saprusHeader := c.GatherSaprusHeader(buf)
remoteAddr := strings.Split(addr.String(), ":")
switch {
case strings.Contains(string(buf), "here"):
log.Printf("Sending Data to %s\n", remoteAddr)
c.SendData(b64Msg)
case saprusHeader.PacketType == [2]byte{0x88, 0x88}:
log.Printf("New find:: %s\n", remoteAddr)
c.SendData(base64.StdEncoding.EncodeToString([]byte("hello\n")))
case saprusHeader.PacketType == [2]byte{0x00, 0x3C}:
log.Printf("Broadcast message::%s\n", remoteAddr)
default:
log.Printf("Packet type not found::%x\n", string(saprusHeader.PacketType[:]))
}
return
}