Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda con funcion send

Estas en el tema de Duda con funcion send en el foro de C/C++ en Foros del Web. Holas, espero que puedan darme una mano con lo siguiente, el tema es que ahora no dispongo del tiempo para poder investigar a fondo sobre ...
  #1 (permalink)  
Antiguo 30/09/2008, 20:37
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Duda con funcion send

Holas, espero que puedan darme una mano con lo siguiente, el tema es que ahora no dispongo del tiempo para poder investigar a fondo sobre el tema, solo necesito resolver una cosa. He encontrado Este tutorial donde habla de
Modelo Cliente/Servidor Streams Sockets


Y quiero hacerle una modificacion muy sencilla simplemente en vez de enviar una cadena de caracteres, quiero enviar una variable entera.
Entonces desde el cliente la funcion send manda lo siguiente:
Código:
char SendBuff[512];

strcpy(SendBuff,"Hola servidor... .P");
send(conn_socket,SendBuff,sizeof(SendBuff),0);
//entonces si quiero mandar una variable entera no bastaria con hacer solo
send(conn_socket,variable,sizeof(variable),0);
El problema es que me larga un error que no puedo convertir un caracter a entero.
La idea es simple, lo que se quiere es que se envien dos numeros desde el cliente y desde el servidor se realiza la suma y devuelva el resultado. Les agradeceria si pudieran darme una mano, lo que pasa es que entiendo muy poco de esto.
Desde ya muchas gracias.

Salu2
__________________
->Aprender es un proceso que incluye el error..
  #2 (permalink)  
Antiguo 30/09/2008, 22:30
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Duda con funcion send

si no me equivoco, el metodo send() es solamente para enviar un mensaje en forma de string (o chars). Si de todas formas, quieres obtener tu mensaje de un numero y mandarlo, debes convertirlo a un string.

El metodo sprintf te servira para eso.

saludos,
  #3 (permalink)  
Antiguo 01/10/2008, 03:32
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Duda con funcion send

Por supuesto que no, send envia un buffer, lo unico que tenes que hacer es pasarle la direccion de la variable y hacer un casting. La misma historia al recibir obviamente.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 01/10/2008, 07:30
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Duda con funcion send

Hola !! gracias por responder, Eternal Idol me podrias explicar un poco mas en detalle lo que me dices. Te lo agradeceria.
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #5 (permalink)  
Antiguo 01/10/2008, 08:18
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Duda con funcion send

Cliente:
Código:
DWORD num = 666;
send(socket, (char*)&num, sizeof(num), 0);
Servidor:
Código:
DWORD num = 0;
recv(socket, (char*)&num, sizeof(num), 0);
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 01/10/2008, 10:47
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Duda con funcion send

Muchisimas Gracias Eternal Idol !!! Anda perfecto, pude terminar el trabajo gracias a vos.

Gracias nuevamente !!!

Saludos.
__________________
->Aprender es un proceso que incluye el error..

Última edición por cala932; 01/10/2008 a las 11:02
  #7 (permalink)  
Antiguo 01/10/2008, 11:13
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Duda con funcion send

De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:25.