work on socket comms, accidently break
This commit is contained in:
parent
4e370c272b
commit
02bd84893d
|
@ -34,6 +34,13 @@ func runRun(cmd *Command, args ...string) {
|
||||||
log.Fatal("Error connecting to warrend:", err)
|
log.Fatal("Error connecting to warrend:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
s.Write([]byte(strings.Join(args, " ")))
|
s.Write([]byte(strings.Join(args, " ") + "\000"))
|
||||||
|
|
||||||
|
resp, err := warren.ReadStringz(s)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println(resp)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,19 +11,15 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func cmdHandle(c net.Conn) {
|
func cmdHandle(c net.Conn) {
|
||||||
fmt.Println("cmdHandle")
|
|
||||||
buf := make([]byte, 1024) // Max size of buff based on?
|
|
||||||
nr, err := c.Read(buf)
|
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
|
fmt.Println("cmdHandle")
|
||||||
|
data, err := warren.ReadStringz(c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("cmdHandle read error:", err)
|
fmt.Println(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
data := buf[0:nr]
|
|
||||||
|
|
||||||
fmt.Println("cmdHandle got command:", string(data))
|
fmt.Println("cmdHandle got command:", string(data))
|
||||||
|
c.Write([]byte("echo: " + data))
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package warren
|
package warren
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
@ -40,3 +42,18 @@ func AppName() string {
|
||||||
paths, name := filepath.Split(paths)
|
paths, name := filepath.Split(paths)
|
||||||
return name
|
return name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ReadStringz(c net.Conn) (string, error) {
|
||||||
|
data := ""
|
||||||
|
buf := make([]byte, 1024) // Max size of buff based on?
|
||||||
|
|
||||||
|
for len(data) > 0 && data[len(data)-1] == 0 {
|
||||||
|
nr, err := c.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("readStringz read error:", err)
|
||||||
|
return "", fmt.Errorf("readStringz error", err)
|
||||||
|
}
|
||||||
|
data += string(buf[0:nr])
|
||||||
|
}
|
||||||
|
return data, nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue