5 #include <sys/socket.h>
7 #include <netinet/in.h>
10 #define LISTEN_PORT 2156
12 unsigned int iptoMid(char *addr) {
16 sscanf(addr, "%d.%d.%d.%d", &i.a, &i.b, &i.c, &i.d);
17 mid = (i.a << 24) | (i.b << 16) | (i.c << 8) | i.d;
22 void midtoIP(unsigned int mid, char *ptr) {
25 i.a = (mid & 0xff000000) >> 24;
26 i.b = (mid & 0x00ff0000) >> 16;
27 i.c = (mid & 0x0000ff00) >> 8;
28 i.d = mid & 0x000000ff;
29 sprintf(ptr, "%d.%d.%d.%d", i.a, i.b, i.c, i.d);
33 int checkServer(int mid, char *machineip) {
35 struct sockaddr_in serv_addr;
38 strncpy(m, machineip, strlen(machineip));
39 // Foreach machine you want to transact with
40 // check if its up and running
41 if ((tmpsd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
45 bzero((char*) &serv_addr, sizeof(serv_addr));
46 serv_addr.sin_family = AF_INET;
47 serv_addr.sin_port = htons(LISTEN_PORT);
50 serv_addr.sin_addr.s_addr = inet_addr(m);
51 while (connect(tmpsd, (struct sockaddr *) &serv_addr, sizeof(struct sockaddr)) < 0) {
54 printf("DEBUG -> Connection established with %s\n", machineip);
65 mid = iptoMid("192.10.0.1");
66 printf("mid = %x\n", mid);