Last active
November 11, 2017 14:14
-
-
Save fmarcia/b8049f4146ed6af838cdaa43c0522aec to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* RASServer | |
* | |
* cf. https://ipfs.io/ipfs/QmfYeDhGH9bZzihBUDEQbCbTc5k5FZKURMUoUvfmc27BwL/socket/udp_datagrams.html | |
*/ | |
package main | |
import ( | |
"fmt" | |
"net" | |
"os" | |
) | |
func main() { | |
if len(os.Args) != 2 { | |
fmt.Fprintf(os.Stderr, "Usage: %s ipaddress:port\n", os.Args[0]) | |
os.Exit(1) | |
} | |
addr, err := net.ResolveUDPAddr("udp", os.Args[1]) | |
check(err) | |
conn, err := net.ListenUDP("udp", addr) | |
check(err) | |
defer conn.Close() | |
buf := make([]byte, 1024) | |
for { | |
size, addr, err := conn.ReadFromUDP(buf) | |
if err == nil { | |
fmt.Printf("%s\t%s\n", addr, string(buf[0:size])) | |
} else { | |
fmt.Printf("Error: %s\n", err) | |
} | |
} | |
} | |
func check(err error) { | |
if err != nil { | |
fmt.Println("Error: ", err) | |
os.Exit(0) | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* send2ras - send a command to an RAS server | |
*/ | |
package main | |
import ( | |
"fmt" | |
"net" | |
"os" | |
) | |
func main() { | |
if len(os.Args) != 3 { | |
fmt.Fprintf(os.Stderr, "Usage: %s host:port message\n", os.Args[0]) | |
os.Exit(1) | |
} | |
ServerAddr, err := net.ResolveUDPAddr("udp", os.Args[1]) | |
checkError(err) | |
LocalAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:0") | |
checkError(err) | |
Conn, err := net.DialUDP("udp", LocalAddr, ServerAddr) | |
checkError(err) | |
_, err = Conn.Write([]byte(os.Args[2])) | |
checkError(err) | |
} | |
func checkError(err error) { | |
if err != nil { | |
fmt.Println("Error: ", err) | |
} | |
} |
Author
fmarcia
commented
Nov 10, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment