magic
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user