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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Tamaño de buffer para proxy en C en: 23 Abril 2012, 01:50 am
Buenas, estoy haciendo un proxy cache en C, y estoy teniendo un problema con los buffers que estoy usando. Ya he logrado leer la solicitud una primera vez del navegador, así obtengo en el buffer una respuesta con el GET etc... luego le envío la solicitud al navegador, pero la respuesta que me da estoy segura de que está incompleta. Supongo que la razón es el tamaño del buffer. Acá está una parte del código:

Código
  1. int sockServidor, sockCliente, sockAceptado, codeLlamada;/*resul de syscall*/
  2. struct sockaddr_in ipCliente, ipServidor;
  3. char bufferSolicitud[256]; /*buffer para el stream de intercomunicación*/
  4. char bufferRespuesta[1024]; /*buffer para el stream de respuesta*/
  5. ...
  6. /*escuchando y aceptando solicitudes*/
  7. read(sockAceptado,bufferSolicitud,255); /*lee solicitud del navegador*/
  8. /*agrega host de solicitud a una cola*/
  9. write(sockAceptado,bufferSolicitud,255); /*envia solicitud al navegador*/
  10. read(sockAceptado,bufferRespuesta,1023); /*lee respuesta del navegador*/
  11. printf("%s\n",bufferRespuesta); /*imprimir respuesta en stdout*/
  12.  

Salida estándar:
Código:
cept-Encoding: gzip, deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Proxy-Connection: keep-alive

Cookie: datr=USRyT0N-TnXDmXY9heJPVm4n; lu=ggUW7DJdGaM8HnSG2r9TZzVg; c_user=1684241979; xs=7%3AiTD4F4fsffwmaw%3A0%3A1332897093

Por el contenido de bufferRespuesta, me parece que el problema debe ser que el tamaño del buffer no es suficiente. Pero me sigue pareciendo extraño, pues cuando bufferRespuesta era de tamaño 256, también imprimía la misma respuesta.

Les agradezco mucho la ayuda de antemano. Primeramente, necesito saber cuál es el problema. En caso de ser el tamaño del buffer, les agradecería mucho si me ayudan a encontrar una solución.
2  Programación / Programación C/C++ / [C] pasar un entero a char* en: 2 Mayo 2011, 04:14 am
Buenas, espero que me puedan ayudar.
Mi duda es muy basica, pero como no tengo mucha experiencia pues no logro resolverla.

Estoy haciendo un juego en C con gtk+, y necesito que el valor (tipo int) de un spin button se vea en un label que esta a la par y que cambie cada vez que se escoge un nuevo valor para el spin button.

El problema que tengo es que ocupo de alguna manera de tomar el valor int y pasarlo a char *

hice este codigo, pero me da error por usar tan directamente el sprintf

Código:
	char * intAChar (char * str, int num)
{
return sprinf(str,"%d",num);
}

intento llamar ese codigo de esta manera

Código:
int spinValorInt;
spinValorInt = gtk_spin_button_get_value(GTK_SPIN_BUTTON(spinTamano));
labelTamano = gtk_label_new(intAChar("",spinValorInt));

Espero que alguien me pueda ayudar, gracias!
3  Programación / ASM / portabilidad de GNU assembler Gas en: 18 Febrero 2011, 19:47 pm
Tenía una duda...

Hasta donde mi conocimiento llega, gas puede usar la sintáxis AT&T y la sintáxis Intel.

Mi duda es la siguiente:

Si hice un programa con la sintáxis Intel, en el sistema operativo Linux, y lo compilé, etc
Puedo correr el programa en Windows? Sino, bastaría con volverlo a compilar pero en Win?

La otra duda es que estuve viendo un poco de qué trataba MingW, que lo que intenta es integrar gas a windows. Eso significa que puedo programar con gas utilizando ambas sintáxis o solo la de intel?

Muchas gracas de antemano por su ayuda!
4  Programación / ASM / ensamblador dlx en: 27 Noviembre 2010, 01:11 am
Disculpen que escriba mi duda en esta área, es la única de ensamblador que he encontrado, asi que no me parece que haya otro mejor lugar.

tengo una duda en cuanto a transferencia de datos y operandos de memoria.

por el momento comprendo lo que significa en realidad este tipo de operandos de memoria
*Registro                    R3    
*Inmediato            #3    Rango de Valores Inmediatos afecta a la long de la Inst
*Desplazamiento    100(R1)    [100+R1] Rango Desp. afecta a la long de la Inst
*Indirecto              (R1)    M[R1]
*Indexado            (R1+R2)    M[R1+R2]
*Indice                    100(R2)[R3] =>    M[100+R2+R3·d]


Mi problema es que encontré una instrucción que utiliza otro método...
movl 4(ebx,edx),%ecx


entiendo que el 4 es el desplazamiento, pero no comprendo que quiere decir (ebx,edx)

Les agradezco de antemano por resolver mi pequeña duda XD

5  Informática / Hardware / calculo de lineas de cache y bloques de ram [SOLUCIONADO] en: 22 Noviembre 2010, 19:20 pm
tengo una pregunta, estoy estudiando para un examen pero no se si el ejemplo que nos dio el profesor esta correcto.

si tenemos esto:

RAM = 1GB
Cache = 1KB
Tamaño de linea de cache = 64B

entonces, uno hace el calculo de lineas de caché, lo cual nos dice que serían 16 líneas de caché. mi duda es cómo se puede calcular la cantidad de bloques de ram.

yo pensé que tenía que primero calcular el tamaño de cada bloque, que tiene 16 lineas de 64B, osea tiene 1024B y luego dividir la cantidad de bytes de la RAM (1073741824 bytes) entre el tamaño en bytes de cada bloque (1024B), y que eso nos retorna la cantidad de bloques en ram....pero a mi eso me dá 1048576 bloques, y el ejemplo que el profe nos dió retorna 16,384 bloques de ram...

me gustaría saber si mi cálculo es correcto, o si estoy cometiendo un error en alguna parte.

gracias por su tiempo XD
6  Programación / Bases de Datos / insertar valor1 en tabla1 si valor1 existe en tabla2 [SOLUCIONADO] en: 17 Octubre 2010, 19:50 pm
bueeenas, mi duda es, como hacer lo siguiente en mysql

tengo dos tablas.... tabla1 y tabla2
y un valor1

quiero insertar valor1 en tabla1 solo si el valor existe en tabla2

el codigo que hice es este....pero no funciona...

Código
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `insertaSupervisor`(in idempleado integer)
  2.        if exists
  3.                (select empleados.idEmpleado
  4.                from empleados
  5.                where (empleados.idEmpleado=idempleado)
  6.                )
  7.        insert into supervisores values (0,idempleado);
  8.  

Me da el MySql Error Number 1064, pidiendo que revise el manual de sintaxis.
7  Programación / Bases de Datos / consulta sqlserver con order by dinamico en: 12 Octubre 2010, 20:43 pm
Buenaaaas

Este es mi problema: estoy intentando hacer un procedimiento almacenado en SQL que realice una consulta a la bd. El sp es llamado desde una app en c# al darle click a un botón.

El sp recibe el string @ordenamiento que puede ser 'e.idEmpleado asc', 'e.idEmpleado desc', 'CantidadEmpleados asc' o 'CantidadEmpleados desc'.

Encontré la manera de realizar el ORDER BY dinámico, pero no funciona y creo que es porque esta recibiendo dos expresiones (ej.: e.idEmpleado y asc)

Código
  1. CREATE PROCEDURE consultaCorp4 (
  2. @ordenamiento VARCHAR
  3. )
  4. AS
  5. BEGIN
  6. SET NOCOUNT ON;
  7. SELECT e.idPlanta,COUNT(e.idEmpleado) AS CantidadEmpleados,SUM(dp.MontoBruto) AS SalariosBrutos,avg(dp.MontoBruto) AS SalarioBrutoPromedio
  8. FROM dbo.empleados e INNER JOIN dbo.detalle_planillas dp
  9. ON (e.idEmpleado=dp.idEmpleado)
  10. GROUP BY e.idPlanta
  11. ORDER BY
  12. CASE @ordenamiento
  13. WHEN 'e.idPlanta asc' THEN e.idPlanta ASC
  14. WHEN 'e.idPlanta desc' THEN e.idPlanta DESC
  15. WHEN 'CantidadEmpleados asc' THEN CantidadEmpleados ASC
  16. WHEN 'CantidadEmpleados desc' THEN CantidadEmpleados DESC
  17. END
  18. END
  19. GO
  20.  

De qué manera podría hacer la consulta para que funcione el ORDER BY dinámico?
8  Programación / Bases de Datos / error al crear procedimiento almacenado en MySQL [SOLUCIONADO] en: 12 Octubre 2010, 01:49 am
Buenas! XD

Estoy aprendiendo a programar bases de datos, con MySQL.

Estaba intentando crear el sp siguiente:

Código:
DELIMITER //
CREATE PROCEDURE `bd_planta1`.`consultaPlanta4` (in empleado integer)
BEGIN
        select *
        from empleados
        where (idEmpleado = empleado);
END //
DELIMITER ;

Y al darle click al botón "Create Stored Proc" me retorna este error:

Código:
Error while executing query.

DELIMITER //
CREATE PROCEDURE `bd_planta1`.`consultaPlanta4` (in empleado integer)
BEGIN
        select *
        from empleados
        where (idEmpleado = empleado);
END //
DELIMITER ;

MySQL Error Number 1064
You have and error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'DELIMETER //
CREATE PROCEDURE `bd_planta1`.`consultaPlanta4` (in empleado integ at line 1

No se si sea un fallo mío en cuanto a programación o si es un bugcillo de MySQL que de por si le he visto varios...podría alguien ayudarme? o.o

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines