Move MPTP ports to 16bit. Until now they were on 8bit.
[swifty.git] / test / server.c
index b0f1ea8..8d62f0b 100644 (file)
@@ -7,9 +7,18 @@
 #include <netinet/in.h>
 #include <stdlib.h>
 
+#define ADDR 0x8182A8C0
+#define NUM_BUF 10
+
 int main(int argc, const char *argv[])
 {
     int sock;
+       int i;
+
+    if (argc != 2) {
+        fprintf(stderr, "USAGE: %s listening_port\n", argv[0]);
+        return -1;
+    }
 
     sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT);
     if (sock < 0) {
@@ -23,7 +32,7 @@ int main(int argc, const char *argv[])
 
     saddr->count = 1;
     saddr->dests[0].addr = 0x0100007F;
-    saddr->dests[0].port = 100;
+    saddr->dests[0].port = atoi(argv[1]);
 
     if (bind(sock, (struct sockaddr *) saddr, size) < 0) {
         perror("Failed to bind socket");
@@ -31,25 +40,30 @@ int main(int argc, const char *argv[])
         return -1;
     }
 
-    char buf[256];
-    struct iovec iov[1];
+    char buf[NUM_BUF][10240];
+    struct iovec iov[NUM_BUF];
     struct msghdr msg;
+       size += (NUM_BUF - 1) * sizeof(struct swift_dest);
     struct sockaddr_swift *from = malloc(size);
 
     memset(&msg, 0, sizeof(msg));
     memset(&iov, 0, sizeof(iov));
     memset(from, 0, size);
 
-    iov[0].iov_base = buf;
-    iov[0].iov_len = sizeof(buf);
+       for (i = 0; i < NUM_BUF; i++) {
+               iov[i].iov_base = buf[i];
+               iov[i].iov_len = sizeof(buf[i]);
+       }
 
     msg.msg_iov = iov;
-    msg.msg_iovlen = 1;
+    msg.msg_iovlen = 10;
     msg.msg_name = from;
     msg.msg_namelen = size;
 
     int ret, fromlen;
 
+       sleep(20);
+
     ret = recvmsg(sock, &msg, 0);
     if (ret < 0) {
         perror("Failed to recv on socket");
@@ -57,7 +71,9 @@ int main(int argc, const char *argv[])
     }
 
     printf("Received %d bytes on socket\n", ret);
-    printf("buf=%s\n", buf);
+       for (i = 0; i < from->count; i++) {
+               printf("buf=%s from %s:%d\n", buf[i], inet_ntoa(from->dests[i].addr), from->dests[i].port);
+       }
 
     if (close(sock) < 0) {
         perror("Failed to close socket");