Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
580eb2d6d9af416d2220a5488e87969bad23a6d1
[simgrid.git] / testsuite / gras / trp_tcp_client.c
1 /* $Id$ */
2
3 /* trp_tcp_client: Client of a test case for the tcp transport.             */
4
5 /* Authors: Martin Quinson                                                  */
6 /* Copyright (C) 2003 the OURAGAN project.                                  */
7
8 /* This program is free software; you can redistribute it and/or modify it
9    under the terms of the license (GNU LGPL) which comes with this package. */
10
11 #include <stdio.h>
12 #include <gras.h>
13 #include "../Transport/transport_interface.h"
14
15 //GRAS_LOG_NEW_DEFAULT_CATEGORY(test);
16
17 int main(int argc,char *argv[]) {
18   gras_socket_t * sock;
19   gras_error_t errcode;
20   char data_send[256];
21   char data_recv[256];
22
23   gras_init_defaultlog(&argc,argv,"trp.thresh=debug");
24
25   fprintf(stderr,"===[CLIENT]=== Contact the server\n");
26   TRYFAIL(gras_socket_client(NULL,55555,&sock));
27
28   sprintf(data_send,"Hello, I am a little test data to send.");
29   fprintf(stderr,"===[CLIENT]=== Send data\n");
30   TRYFAIL(gras_trp_chunk_send(sock,data_send, sizeof(data_send)));
31   fprintf(stderr,"===[CLIENT]=== Waiting for the ACK\n");
32   TRYFAIL(gras_trp_chunk_recv(sock,data_recv, sizeof(data_recv)));
33   
34   if (strcmp(data_send, data_recv)) {
35     fprintf(stderr, "===[CLIENT]=== String sent != string received\n");
36     exit(1);
37   } 
38   fprintf(stderr,"===[CLIENT]=== Got a valid ACK\n");
39   
40   fprintf(stderr,"===[CLIENT]=== Exiting successfully\n");
41   gras_socket_close(sock);
42    
43   gras_exit();
44   return 0;
45 }