Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. int main(){
  2.  
  3. printf("Soy Memoria n");
  4.  
  5. // ABAJO MEMORIA COMO CLIENTE DEL SERVER FILE SYSTEM
  6.  
  7. int socketClienteDelFS;
  8.  
  9. socketClienteDelFS = socket(AF_INET, SOCK_STREAM, 0);
  10.  
  11.  
  12.  
  13. struct sockaddr_in direccionServer;
  14.  
  15. direccionServer.sin_family = AF_INET;
  16.  
  17. direccionServer.sin_port = htons(9002);
  18.  
  19. direccionServer.sin_addr.s_addr = INADDR_ANY;
  20.  
  21.  
  22.  
  23. if (connect(socketClienteDelFS, (struct sockaddr *) &direccionServer,
  24.  
  25. sizeof(direccionServer)) == -1) {
  26.  
  27. perror("Hubo un error en la conexion n");
  28.  
  29. return -1;
  30.  
  31. }
  32.  
  33.  
  34.  
  35. char buffer[256];
  36.  
  37. recv(socketClienteDelFS, &buffer, sizeof(buffer), 0);
  38.  
  39.  
  40.  
  41. printf("RECIBI INFORMACION: %sn", buffer);
  42.  
  43.  
  44.  
  45. //Mandar Mensajes
  46.  
  47. while (1) {
  48.  
  49. char mensaje[1000];
  50.  
  51. scanf("%s", mensaje);
  52.  
  53.  
  54.  
  55. send(socketClienteDelFS, mensaje, strlen(mensaje), 0);
  56.  
  57. }
  58.  
  59.  
  60.  
  61. close(socketClienteDelFS);
  62.  
  63.  
  64.  
  65. //-------------------- ABAJO MEMORIA COMO SERVER DEL KERNEL CLIENTE
  66.  
  67.  
  68.  
  69. char mensaje2[256] = ""Te has conectado con la memoria"";
  70.  
  71.  
  72.  
  73. int socketServidorDelKernel;
  74.  
  75. socketServidorDelKernel = socket(AF_INET, SOCK_STREAM, 0);
  76.  
  77.  
  78.  
  79. struct sockaddr_in direccionKernel;
  80.  
  81. direccionKernel.sin_family = AF_INET;
  82.  
  83. direccionKernel.sin_port = htons(9003);
  84.  
  85. direccionKernel.sin_addr.s_addr = INADDR_ANY;
  86.  
  87.  
  88.  
  89. int activado = 1;
  90.  
  91. setsockopt(socketServidorDelKernel, SOL_SOCKET, SO_REUSEADDR, &activado, sizeof(activado));
  92.  
  93.  
  94.  
  95. if (bind(socketServidorDelKernel, (struct sockaddr*) &direccionKernel,
  96.  
  97. sizeof(direccionKernel)) != 0) {
  98.  
  99. perror("Fallo el bind");
  100.  
  101. return -1;
  102.  
  103. }
  104.  
  105.  
  106.  
  107. listen(socketServidorDelKernel, 100);
  108.  
  109.  
  110.  
  111. int sock_kernel;
  112.  
  113. struct sockaddr_in direccion_kernel;
  114.  
  115. unsigned int tamanio_coneccion;
  116.  
  117. sock_kernel = accept(socketServidorDelKernel, (void*) &direccion_kernel, &tamanio_coneccion);
  118.  
  119.  
  120.  
  121. //Mandar Mensaje
  122.  
  123. send(sock_kernel, mensaje2, sizeof(mensaje2), 0);
  124.  
  125.  
  126.  
  127. //Recibir Mensajes
  128.  
  129.  
  130.  
  131. char* buffer2 = malloc(1000);
  132.  
  133.  
  134.  
  135. while (1) {
  136.  
  137. int bytesRecibidos = recv(sock_kernel, buffer2, 1000, 0);
  138.  
  139. if (bytesRecibidos <= 0) {
  140.  
  141. perror("Error en recepcion de mensaje");
  142.  
  143. return 1;
  144.  
  145. }
  146.  
  147.  
  148.  
  149. buffer2[bytesRecibidos] = '';
  150.  
  151.  
  152.  
  153. printf("Me llegaron %d bytes con %sn", bytesRecibidos, buffer2);
  154.  
  155. }
  156.  
  157.  
  158.  
  159. free(buffer2);
  160.  
  161.  
  162.  
  163. //Cerrar el socket
  164.  
  165. close(socketServidorDelKernel);
  166.  
  167. return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement