X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=test%2Fclient.c;h=5e1a0a16b71f85ff33044d1707e9e2c8387f7268;hb=refs%2Fheads%2Finitial;hp=ddd620273bab6971792f49d0981ebdd6ff9054f2;hpb=6d0e2825e6cca633d831ed3ce790b678d042131c;p=swifty.git diff --git a/test/client.c b/test/client.c index ddd6202..5e1a0a1 100644 --- a/test/client.c +++ b/test/client.c @@ -1,4 +1,4 @@ -#include "../src/kernel/swift.h" +#include "../src/kernel/mptp.h" #include #include @@ -6,24 +6,39 @@ #include #include #include +#include + +#define ADDR 0x8182A8C0 +#define DADDR 0x8182A8C0 + +int gen_port() +{ + int ret; + srand(time(NULL)); + ret = (rand() % 65536) + 1; + if (ret == 100 || ret == 101) + ret *= 2; + printf("Generated source port %d\n", ret); + return ret; +} int main(int argc, const char *argv[]) { int sock; - sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT); + sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_MPTP); if (sock < 0) { perror("Failed to create socket"); return -1; } - int size = sizeof(struct sockaddr_swift) + sizeof(struct swift_dest); - struct sockaddr_swift *saddr = malloc(size); + int size = sizeof(struct sockaddr_mptp) + sizeof(struct mptp_dest); + struct sockaddr_mptp *saddr = malloc(size); memset(saddr, 0, size); saddr->count = 1; - saddr->dests[0].addr = 0x0100007F; - saddr->dests[0].port = 50; + inet_aton(ADDR, &(saddr->dests[0].addr)); + saddr->dests[0].port = htons(gen_port()); if (bind(sock, (struct sockaddr *) saddr, size) < 0) { perror("Failed to bind socket"); @@ -31,26 +46,32 @@ int main(int argc, const char *argv[]) return -1; } - char buf[] = "Buffer de test"; - struct iovec iov[1]; + char buf[] = "Buffer1"; + char buf2[] = "Buffer2"; + struct iovec iov[2]; struct msghdr msg; - struct sockaddr_swift *to = malloc(size); + int size2 = sizeof(struct sockaddr_mptp) + 2 * sizeof(struct mptp_dest); + struct sockaddr_mptp *to = malloc(size2); memset(&msg, 0, sizeof(msg)); memset(&iov, 0, sizeof(iov)); - memset(to, 0, size); + memset(to, 0, size2); iov[0].iov_base = buf; iov[0].iov_len = sizeof(buf); + iov[1].iov_base = buf2; + iov[1].iov_len = sizeof(buf2); - to->count = 1; - to->dests[0].addr = 0x0100007F; - to->dests[0].port = 100; + to->count = 2; + inet_aton(DADDR, &(to->dests[0].addr)); + to->dests[0].port = htons(100); + inet_aton(DADDR, &(to->dests[1].addr)); + to->dests[1].port = htons(101); msg.msg_iov = iov; - msg.msg_iovlen = 1; + msg.msg_iovlen = 2; msg.msg_name = to; - msg.msg_namelen = size; + msg.msg_namelen = size2; int ret;