Addapt client and server to the 16bit port. Use htons before sending them to kernel.
authorAdrian Bondrescu <adi.bondrescu@gmail.com>
Sun, 24 Jun 2012 12:18:25 +0000 (15:18 +0300)
committerAdrian Bondrescu <adi.bondrescu@gmail.com>
Sun, 24 Jun 2012 12:18:25 +0000 (15:18 +0300)
test/client.c
test/server.c

index 6fdd337..e477e1e 100644 (file)
@@ -8,14 +8,14 @@
 #include <stdlib.h>
 #include <time.h>
 
-#define ADDR 0x8082A8C0
-#define DADDR 0x8082A8C0
+#define ADDR 0x8182A8C0
+#define DADDR 0x8182A8C0
 
 int gen_port()
 {
        int ret;
        srand(time(NULL));
-       ret = (rand() % 255) + 1;
+       ret = (rand() % 65536) + 1;
        if (ret == 100 || ret == 101)
                ret *= 2;
        printf("Generated source port %d\n", ret);
@@ -38,7 +38,7 @@ int main(int argc, const char *argv[])
 
     saddr->count = 1;
     saddr->dests[0].addr = ADDR;
-    saddr->dests[0].port = gen_port();
+    saddr->dests[0].port = htons(gen_port());
 
     if (bind(sock, (struct sockaddr *) saddr, size) < 0) {
         perror("Failed to bind socket");
@@ -64,9 +64,9 @@ int main(int argc, const char *argv[])
 
     to->count = 2;
     to->dests[0].addr = DADDR;
-    to->dests[0].port = 100;
+    to->dests[0].port = htons(100);
     to->dests[1].addr = DADDR;
-    to->dests[1].port = 101;
+    to->dests[1].port = htons(101);
 
     msg.msg_iov = iov;
     msg.msg_iovlen = 2;
index aa55c69..7e00b8b 100644 (file)
@@ -32,7 +32,7 @@ int main(int argc, const char *argv[])
 
     saddr->count = 1;
     saddr->dests[0].addr = ADDR;
-    saddr->dests[0].port = atoi(argv[1]);
+    saddr->dests[0].port = htons(atoi(argv[1]));
 
     if (bind(sock, (struct sockaddr *) saddr, size) < 0) {
         perror("Failed to bind socket");