/*** * * Send a message to some address on a UDP port * * Usage: ctalk +[message] * * File: ctalk.c * Date: 26/6/2000 * Auth: wilbertdg@hetnet.nl * ***/ #include #include #ifndef WIN32 #include #include #include #else #define WIN32_LEAN_AND_MEAN #include #include #include #endif int main(int argc, char *argv[]) { #ifdef WIN32 SOCKET s; #else int s; #endif int len, i; struct sockaddr_in sa; #ifdef WIN32 { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(2, 2); err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) { printf("%s: failed to initialize winsock\n", argv[0]); exit(0); } } #endif if (argc < 4) { printf("usage: %s \n", argv[0]); exit(0); } s = socket(PF_INET, SOCK_DGRAM, 0); sa.sin_family = AF_INET; sa.sin_addr.s_addr = inet_addr(argv[1]); sa.sin_port = htons(atoi(argv[2])); i = 32; #ifndef WIN32 i = setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL, (void*) &i, sizeof(i)); #else /* setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL, (void*) &i, sizeof(i)); */ ioctlsocket(s, SIO_MULTICAST_SCOPE, &i); #endif for (i=3; i