This repository has been archived on 2024-04-07. You can view files and clone it, but cannot push or open issues or pull requests.
unix-sockets-test-go/main.go

41 lines
806 B
Go

package main
import (
"flag"
"log"
"net"
)
func main() {
var clientAddrStr string
var serverAddrStr string
flag.StringVar(&clientAddrStr, "c", "", "Connect to unix socket as client")
flag.StringVar(&serverAddrStr, "s", "", "Connect to unix socket as server")
flag.Parse()
var addrStr string
var isClient bool
if clientAddrStr != "" && serverAddrStr != "" {
log.Panicf("Can't connect as client and server at the same time")
} else if clientAddrStr != "" {
isClient = true
addrStr = clientAddrStr
} else if serverAddrStr != "" {
isClient = false
addrStr = serverAddrStr
} else {
flag.Usage()
return
}
unixAddr, err := net.ResolveUnixAddr("unix", addrStr)
if err != nil {
log.Panic(err)
}
if isClient {
connectClient(unixAddr)
} else {
connectServer(unixAddr)
}
}