Ejemplo n.º 1
0
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);
    }
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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));
}
Ejemplo n.º 5
0
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 "";
}
Ejemplo n.º 7
0
// 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;

}
Ejemplo n.º 8
0
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;
}
Ejemplo n.º 9
0
void MyTimerFunction(unsigned long data)
{
	udp_broadcast(1, "ResetWimax_BySDIO\n");
}