Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. #include "rdt.h"
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <sys/socket.h>
  5. #include <arpa/inet.h>
  6. #include <unistd.h>
  7. #include <ctype.h>
  8. #include <string.h>
  9. #include <stddef.h>
  10. #include <netdb.h>
  11. #include <stddef.h>
  12. #include <iostream>
  13.  
  14. using namespace std;
  15.  
  16. #define MAX_INTENTOS 1000
  17.  
  18. int main( int argc, const char* argv[] )
  19. {
  20. int IdRDT,result,i;
  21. int cantInt,puerto, puertoOrig,puertoDest, tam_archivo;
  22. char puertoO,puertoD;
  23. struct in_addr direccion;
  24.  
  25. FILE* archivo;
  26.  
  27. if (argc != 4){
  28. printf( "Error, ejecutar %s <puerto_orig> <direccionIP_local> <nom_archivo_salida>\n",argv[0]);
  29. exit(-1);
  30. }
  31.  
  32. // cargo variables para conexion
  33. puertoOrig=(atoi( argv[1] ) % 256);
  34. puertoO = (char) puertoOrig;
  35. unsigned char buf[MAX_READ_SIZE];
  36. inet_aton(argv[2], &direccion);
  37. IdRDT = crearRDT(direccion);
  38. if ( IdRDT == -1 ){
  39. printf( "Error al crear el Socket\n");
  40. exit(-1);
  41. }
  42. printf( "Esperando Conexion\n");
  43.  
  44. result = aceptarRDT(puertoO);
  45. if ( result == -1 ) {
  46. printf( "Error al aceptar conexion\n");
  47. exit(-1);
  48. }
  49. printf( "Equipo conectado\n");
  50. sleep(10);
  51.  
  52.  
  53. // Espero llegada de datos
  54. // voy grabando lo recibido
  55. cantInt = 0;
  56. int leido = 0;
  57. result = 0;
  58. while (result >= 0) {
  59. result = leerRDT(&buf[0], MAX_READ_SIZE);
  60. printf("Recibidos %d bytes\n",result);
  61. if (result > 0 ) {
  62. FILE* archigroso = fopen(argv[3], "a+");
  63. fwrite (buf , 1 , result, archigroso);
  64. fclose(archigroso);
  65. }
  66. if (result > 0 ) {
  67. leido = leido + result;
  68. }
  69. }
  70. sleep(10);
  71.  
  72. // cierro conexion
  73. cerrarRDT();
  74. printf("Cerrando sesion RDT\n");
  75. sleep(5);
  76. printf("Recepcion Finalizada\n");
  77.  
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement