elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  porque no funciona send() y recv()?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: porque no funciona send() y recv()?  (Leído 1,995 veces)
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
porque no funciona send() y recv()?
« en: 21 Julio 2013, 02:50 am »

hola

estaba haciendo un socket sencillo e windows y se conecta bien pero cuando uso send() y recv() no me aparece nada  :huh:  :huh:, me podrian decir que podria estar mal, llevo un tiempo sin usar C y sockets pero no creo que se me haya olvidado como hacerlo jeje, a ver si le encuentran algo mal, porque ya lo revise y no recuerdo haber olvidado algo

solo era conectarse entre sockets y mandan un "hola mundo"

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <winsock2.h>
  4.  
  5. int main()
  6. {
  7.    WSADATA wsa;
  8. SOCKET sock;
  9. struct sockaddr_in cl;
  10. int co = 0;
  11. char buff[50];
  12.  
  13. WSAStartup(MAKEWORD(2,2), &wsa);
  14. sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  15.  
  16. cl.sin_family = AF_INET;
  17. cl.sin_port = htons(8889);
  18. cl.sin_addr.s_addr = INADDR_ANY;
  19.  
  20. if(bind(sock, (struct sockaddr*)&cl, sizeof(struct sockaddr)) == -1){
  21.    printf("error bind");
  22. }
  23.  
  24. if(listen(sock, 1) == -1){
  25.  
  26.    printf("error listen");
  27. }
  28.  
  29. co = sizeof(struct sockaddr);
  30.  
  31. if((accept(sock, (struct sockaddr*)&cl, &co)) == -1){
  32.        accept(sock, (struct sockaddr*)&cl, &co);
  33.  
  34.        }
  35.  
  36. recv(sock, buff, sizeof(buff), 0);
  37. printf("%s", buff);
  38.  
  39.  
  40. return 0;
  41. }
  42.  

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <winsock2.h>
  4.  
  5. int main()
  6. {
  7.    WSADATA wsa;
  8.    SOCKET fd;
  9.    struct sockaddr_in cli;
  10.    struct hostent* he;
  11.    char buff[50] = "hola mundo";
  12.  
  13.    WSAStartup(MAKEWORD(2,2), &wsa);
  14.    he = gethostbyname("127.0.0.1");
  15.    if((fd=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) != 0){
  16.  
  17.        printf("resultado %d", fd);
  18.    }
  19.  
  20.    cli.sin_family = AF_INET;
  21.    cli.sin_port = htons(8889);
  22.    cli.sin_addr = *((struct in_addr*)he->h_addr);
  23.    memset(cli.sin_zero, 8, 0);
  24.  
  25.    connect(fd, (struct sockaddr*)&cli, sizeof(struct sockaddr));
  26.  
  27.    send(fd, buff, strlen(buff), 0);
  28.  
  29.    return 0;
  30. }
  31.  


« Última modificación: 21 Julio 2013, 03:36 am por Belial & Grimoire » En línea

.                                 
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: porque no funciona send() y recv()?
« Respuesta #1 en: 21 Julio 2013, 04:12 am »

ya lo arregle, olvide agregar a socket accept

socket = accept(socket,0, 0);


En línea

.                                 
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Porque no funciona?
Programación Visual Basic
& eDu & 9 3,594 Último mensaje 15 Abril 2008, 01:11 am
por seba123neo
Error con el manejo de send y recv
Programación C/C++
Mr.Blue 2 3,455 Último mensaje 26 Noviembre 2010, 20:01 pm
por Mr.Blue
Socket send and recv problema « 1 2 »
Programación C/C++
<<<-Basura->>> 10 5,950 Último mensaje 2 Septiembre 2013, 11:26 am
por eferion
¿Recv() porque tarda infinito? ...
Programación C/C++
Kaxperday 6 2,737 Último mensaje 29 Septiembre 2015, 14:46 pm
por Kaxperday
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines