537a7aca7afaf8c1074ed4b4ae904cec9e9c21f6
[sip-router] / test / test.c
1 /* 
2  * $Id$
3  *
4  */
5
6
7 #include <stdlib.h>
8 #include <stdio.h>
9 #include <string.h>
10 #include <sys/types.h>
11 #include <sys/socket.h>
12 #include <netinet/in.h>
13 #include <errno.h>
14 #include <arpa/inet.h>
15
16
17 #define LOOP_COUNT 100
18 #define PORT 5060
19 #define SEND_PORT 5090
20 #define SEND_ADDR 0x0a000022 /*10.0.0.34*/   /*   0x7f000001 127.0.0.1*/
21 #define BUF_SIZE 65535
22 static char buf[BUF_SIZE];
23
24 int main(char** argv, int argn)
25 {
26         int sock;
27         struct sockaddr_in addr;
28         struct sockaddr_in to;
29         int r, len;
30
31         printf("starting\n");
32         
33         addr.sin_family=AF_INET;
34         addr.sin_port=htons(PORT);
35         addr.sin_addr.s_addr=INADDR_ANY;
36         to.sin_family=AF_INET;
37         to.sin_port=htons(SEND_PORT);
38         to.sin_addr.s_addr=htonl(SEND_ADDR);
39                 
40
41         sock=socket(PF_INET, SOCK_DGRAM,0);
42         if (bind(sock, (struct sockaddr*) &addr, sizeof(struct sockaddr_in))==-1){
43                 fprintf(stderr, "ERROR: udp_init: bind: %s\n", strerror(errno));
44                 exit(1);
45         }
46
47         //if (fork())
48                 if (fork()){
49                         close(sock);
50                         for(;;) sleep(100);
51                         exit(1);
52                 }
53         /*children*/
54         printf("child\n");
55         for(;;){
56                 len=read(sock, buf, BUF_SIZE);
57                 /*for (r=0;r < LOOP_COUNT; r++);*/
58                 /* send it back*/
59                 sendto(sock, buf, len, 0, (struct sockaddr*) &to,
60                                 sizeof(struct sockaddr_in));
61         }
62 }