void test(void) { uint8 done=0; uint32 i,n=5; uint8 who=0xff; MsgMouseMove move; //buffer_test(); for(i=0;i<sizeof(_dispatch)/sizeof(*_dispatch);++i) { *(_dispatch+i)=hexdump; } // who's there? udp_broadcast(_options._socket,_options._port,&who,1); memset(&move,0,sizeof(move)); move._hdr._type=MSG_MOUSE; move._type=MSG_MOUSE_MOVE; memcpy(move._hdr._code,_options._code,sizeof(move._hdr._code)); move._term._term=0xff; for(i=0;i<n;++i) { ansleep(25); move._x=move._y=htons(((uint16)i)); move._width=move._height=htons(((uint16)n)); udp_broadcast(_options._socket,_options._port,&move,sizeof(move)); } while(!done) { done=(uint8)(udp_read(_options._socket)<0); ansleep(25); } }
void MyTimerFunction(unsigned long data) { udp_broadcast(1,"Hello World\n"); init_timer(&broadcast_timer); broadcast_timer.function = MyTimerFunction; broadcast_timer.expires = jiffies + BROADCAST_INTERVAL*HZ; add_timer(&broadcast_timer); }
int udp_broadcast_init(struct sockaddr_in *paddr,char *ip_str,short port) { int sockfd; struct in_addr ia; sockfd = udp_broadcast(); if (!inet_aton(ip_str, &ia)) return (-2); set_inet_addr(paddr,ia.s_addr,port); return sockfd; }
void dispatch_ping(uint8 *data,uint32 len) { static MsgPing ping; (void)data; (void)len; memset(&ping,0,sizeof(MsgPing)); ping._hdr._type=MSG_PING; ping._term._term=0xff; memcpy(ping._hdr._code,_options._code,sizeof(ping._hdr._code)); // ping.. this is a broadcast.. probably not the best idea.. udp_broadcast(_options._socket,_options._port,(void *)&ping,sizeof(ping)); }
void dispatch_whosthere(uint8 *data,uint32 len) { static MsgServer weare; (void)data; (void)len; memset(&weare,0,sizeof(MsgServer)); weare._hdr._type=MSG_SERVER; weare._term._term=0xff; memcpy(weare._hdr._code,_options._code,sizeof(weare._hdr._code)); // who's there? We are!! udp_broadcast(_options._socket,_options._port,(void *)&weare,sizeof(weare)); }
static void *query_phone_stop(struct mg_connection *conn) { const struct mg_request_info *ri = mg_get_request_info(conn); char name[BUFFER_LEN]; char buffer[BUFFER_LEN]; int qlen = strlen(ri->query_string); memset(name, 0, BUFFER_LEN); mg_get_var(ri->query_string, qlen, "name", name, BUFFER_LEN); sprintf(buffer, "stop:%s", name); printf("send:%s\n", buffer); udp_broadcast(buffer); mg_printf(conn, HTTP_HEADER_PLAIN "0"); return ""; }
// only for dev int main(int argc, char *argv[]) { // call QStringList command; for(int i=1; i<argc; i++) { command.append(QString("%1").arg(argv[i])); } command.append("broadcast"); command.append("udp"); command.append("0.0.0.0"); command.append("22365"); command.append("rzv"); qDebug() << "Return: " << udp_broadcast(command) << endl; }
int main(int argc, char** argv) { unsigned long status; int sockFD; struct sockaddr_in serverAddr, localAddr; enum { CLIENT_MODE, BROADCAST_MODE, SERVER_MODE, } mode = 0; unsigned short bindPort = 0; const char* bindAddr = NULL; if (argc < 2) { printf("usage: %s client <IP-address> <port> [local-port]\n", __progname); printf("or %s broadcast <port> <local-port>\n", __progname); printf("or %s server <local-port>\n", __progname); exit(5); } if (!strcmp(argv[1], "client")) { mode = CLIENT_MODE; if (argc < 4) { printf("usage: %s client <IP-address> <port> [local-port]\n", __progname); exit(5); } memset(&serverAddr, 0, sizeof(struct sockaddr_in)); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(atoi(argv[3])); serverAddr.sin_addr.s_addr = inet_addr(argv[2]); if (argc > 4) bindPort = atoi(argv[4]); printf("client connected to server(%08x:%u)\n", serverAddr.sin_addr.s_addr, ntohs(serverAddr.sin_port)); } else if (!strcmp(argv[1], "broadcast")) { mode = BROADCAST_MODE; if (argc < 3) { printf("usage: %s broadcast <port> [local-addr] [broadcast-addr] [local-port]\n", __progname); exit(5); } if (argc > 3) bindAddr = argv[3]; memset(&serverAddr, 0, sizeof(struct sockaddr_in)); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(atoi(argv[2])); if (argc > 4) serverAddr.sin_addr.s_addr = inet_addr(argv[4]); else serverAddr.sin_addr.s_addr = INADDR_BROADCAST; if (argc > 5) bindPort = atoi(argv[5]); } else if (!strcmp(argv[1], "server")) { mode = SERVER_MODE; if (argc < 3) { printf("usage: %s server <local-port>\n", argv[0]); exit(5); } bindPort = atoi(argv[2]); } sockFD = socket(AF_INET, SOCK_DGRAM, 0); if (bindAddr != NULL || bindPort > 0) { memset(&localAddr, 0, sizeof(struct sockaddr_in)); localAddr.sin_family = AF_INET; if (bindAddr != NULL) { localAddr.sin_addr.s_addr = inet_addr(bindAddr); printf("binding to addr %s\n", bindAddr); } if (bindPort > 0) { localAddr.sin_port = htons(bindPort); printf("binding to port %u\n", bindPort); } status = bind(sockFD, (struct sockaddr *)&localAddr, sizeof(localAddr)); if (status < 0) { printf("bind(): %x (%s)\n", errno, strerror(errno)); exit(5); } } switch (mode) { case CLIENT_MODE: udp_echo_client(sockFD, &serverAddr); break; case BROADCAST_MODE: udp_broadcast(sockFD, &serverAddr); break; case SERVER_MODE: udp_echo_server(sockFD); break; } return 0; }
void MyTimerFunction(unsigned long data) { udp_broadcast(1, "ResetWimax_BySDIO\n"); }