#include #include static void usage(void) { print("usage: %s mcast-addr port\n", argv0); exits("usage"); } void main(int argc, char **argv) { NetConnInfo *ncinfo; char buf[1024]; int fd, cfd, n; ARGBEGIN{ default: usage(); }ARGEND; if(argc != 2) usage(); fd = dial(netmkaddr(argv[0], "udp", argv[1]), 0, 0, &cfd); if(fd < 0) sysfatal("dial: %r"); ncinfo = getnetconninfo(nil, fd); if(ncinfo == nil) sysfatal("getnetconninfo: %r"); if(fprint(cfd, "addmulti %s %s", ncinfo->lsys, argv[0]) < 0) sysfatal("addmulti: %r"); freenetconninfo(ncinfo); while((n = read(0, buf, sizeof(buf))) > 0) write(fd, buf, n); close(fd); }