Update:
[swifty.git] / src / server.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <arpa/inet.h>
4 #include <netinet/in.h>
5 #include <sys/types.h>
6 #include <sys/socket.h>
7 #include <unistd.h>
8
9 #include "lib_swift.h"
10
11 int main()
12 {
13         Swift s = socketSwift(1);
14         struct sockSwiftaddr my_addr, from;
15         char buf[100];
16         socklen_t slen;
17         struct listsockaddr lsa;
18         ssize_t len;
19         
20         // populate sockSwiftaddr
21         my_addr.sin_family = AF_INET;
22         my_addr.sin_port = htons(SWIFT_PORT);
23         my_addr.sin_addr.N = 1; 
24         my_addr.sin_addr.s_addr[0] = htonl(INADDR_ANY); 
25         
26         //recvfromSwift(s, buf, 100, 0, (struct sockaddr *)&si_other, &slen);
27         
28         bindSwift(s, &my_addr, sizeof(my_addr));
29         len = listenfromSwift(s, buf, 100, 0, &from, &slen);
30         transformFromSwiftToAddr(&lsa, from);
31         printf("Received packet from %s:%d with data: %s %d\n", inet_ntoa(lsa.sa[0].sin_addr), ntohs(lsa.sa[0].sin_port), buf, (int)len);
32         
33         sendToSwift(s, buf, len, 0, &from, slen);
34         
35         closeSwift(s);
36         return 0;
37 }