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