Merge pull request #25 from simple-rules/ric-command

let commander accept config file.
pull/27/head
7z7 6 years ago committed by GitHub
commit 6d96cfd0a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 43
      aws-experiment-launch/experiment/commander/main.go
  2. 3
      aws-experiment-launch/experiment/soldier/main.go

@ -1,19 +1,21 @@
package main package main
import ( import (
"bufio"
"flag"
"log" "log"
"net" "net"
"strconv" "os"
"strings" "strings"
) )
const ( const (
message = "init http://localhost:8080/configuration.txt" message = "init http://localhost:8080/configuration.txt"
defaultPort = 6000
StopCharacter = "\r\n\r\n" StopCharacter = "\r\n\r\n"
) )
func SocketClient(ip string, port int) { func SocketClient(addr string) {
addr := strings.Join([]string{ip, strconv.Itoa(port)}, ":")
conn, err := net.Dial("tcp", addr) conn, err := net.Dial("tcp", addr)
defer conn.Close() defer conn.Close()
@ -28,18 +30,39 @@ func SocketClient(ip string, port int) {
buff := make([]byte, 1024) buff := make([]byte, 1024)
n, _ := conn.Read(buff) n, _ := conn.Read(buff)
log.Printf("Receive from %v: %s", port, buff[:n]) log.Printf("Receive from %s: %s", addr, buff[:n])
} }
func main() { func main() {
configFile := flag.String("config_file", "config.txt", "file containing all ip addresses")
flag.Parse()
var ( configs := readConfigFile(*configFile)
ip = "127.0.0.1"
portList = []int{3333, 4444}
)
for _, port := range portList { for _, config := range configs {
SocketClient(ip, port) ip := config[0]
port := config[1]
addr := strings.Join([]string{ip, port}, ":")
SocketClient(addr)
}
} }
func readConfigFile(configFile string) [][]string {
file, _ := os.Open(configFile)
fscanner := bufio.NewScanner(file)
result := [][]string{}
for fscanner.Scan() {
p := strings.Split(fscanner.Text(), " ")
result = append(result, p)
}
return result
}
func Map(vs []string, f func(string) string) []string {
vsm := make([]string, len(vs))
for i, v := range vs {
vsm[i] = f(v)
}
return vsm
} }

@ -121,7 +121,8 @@ func handleInitCommand(args []string, w *bufio.Writer) {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
log.Println("Successfully init-ed with config", content) log.Println("Successfully init-ed with config")
log.Println(string(content))
w.Write([]byte("Successfully init-ed")) w.Write([]byte("Successfully init-ed"))
w.Flush() w.Flush()

Loading…
Cancel
Save