|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Eternal Idol
Páginas: 1 ... 61 62 [63] 64 65 ... 205
1551
« en: Martes 5 de Febrero de 2008, 13:18 »
1552
« en: Martes 5 de Febrero de 2008, 13:17 »
De nadas
1553
« en: Martes 5 de Febrero de 2008, 08:08 »
Nop No entendiste. Supongamos que tenes la cadena HOLA. strlen devuelve 4, si pasas al I/O manager 3 (strlen - 1) lo que hace es reservar 3 bytes y copiar HOL, lo siguiente es basura. Si pasas 4 (strlen) reserva 4 bytes y copia HOLA, lo siguiente es baura. Tenes que pasarle 5 (strlen + 1) asi reservara 5 bytes copiara tanto HOLA como el terminador (0). char s[13] = "Hola a todos\0"; Eso es redundante, al ser una cadena el compilador pone el terminador automaticamente. La verdad es que es muy raro Es un problema muy simple
1554
« en: Lunes 4 de Febrero de 2008, 18:51 »
¿Que devuelve la funcion strlen? El tamaño de una cadena, es decir la cantidad de caracteres que contiene, sin incluir el terminador de cadena (0).
strlen(s) no es correcto, asumo que estas usando buffered I/O - por Irp->AssociatedIrp.SystemBuffer - y el sistema reservara strlen(s) y copiara strlen(s) bytes a ese buffer, siendo lo siguiente basura. Consulta la documentacion al respecto.
1555
« en: Lunes 4 de Febrero de 2008, 18:41 »
Depuralo.
1556
« en: Viernes 1 de Febrero de 2008, 01:01 »
El problema está en que yo he hecho mi propia implementación del protocolo SCTP y por eso no puedo utilizar los sockets para este protocolo ya que he creado mis propias estructuras y mis propias funciones. ¿Y entonces para que necesitas el TUN/TAP? ¿Para que lo hiciste? Ya esta implementado nativamente. Respecto a TUN/TAP el código que escribí en el primer mensaje es para enviar y recibir datos por el TAP, miraré detenidamente la documentación que me has pasado a ver si aclaro mis dudas. Si, no se cual es la razon para usar ese dispositivo ... No sabia que en el socket RAW podia usar mi propia cabecera IP. Si usas IP_HDRINCL podes. ¿A que te refieres con depurar el código? Esque estudio telecomunicaciones y solo tengo las bases básicas de programación. http://es.wikipedia.org/wiki/DepurarNo se como podes haber implementado el SCTP entonces ...
1557
« en: Jueves 31 de Enero de 2008, 23:49 »
No lo depuraste; te ayudaria pero NO trabajo bajo *NIX. Mirate esto si queres: TUN/TAP. Segun esto http://en.wikipedia.org/wiki/SCTP ese protocolo esta soportado en GNU/Linux asi que no tendrias que añadir nada sino simplemente usar socket con IPPROTO_SCTP en lugar de IPPROTO_TCP... Si queres usar raw sockets en lugar de SOCK_STREAM o SOCK_DGRAM usas SOCK_RAW y si queres incluso usar tu propia cabecera IP tenes que usar setsockopt y IP_HDRINCL.
1558
« en: Jueves 31 de Enero de 2008, 23:32 »
AST es un academico ...
1559
« en: Jueves 31 de Enero de 2008, 14:28 »
Primero de todo depura el programa y obtene informacion mas exacta sobre lo que sucede.
1560
« en: Miércoles 30 de Enero de 2008, 20:27 »
no manejo muy bien lo de depurar y para pasarlo a winsock deberia tb pasar el cliente y el tipos.x? Trata de depurarlo, es una habilidad muy pero muy util. Para pasarlo a Winsock y que yo pueda depurarlo (no tengo ganas ni tiempo de hacerlo) tenes que hacer lo mismo que con el programa de UDP, inicializar Winsock y usar las librerias de Windows.
1561
« en: Miércoles 30 de Enero de 2008, 19:13 »
Depura el servidor (o adaptalo a Winsock si queres que lo haga yo  ) y asi sabras en que punto da el error y la razon de darlo. Despues muevo esta segunda parte a otro hilo nuevo.
1562
« en: Miércoles 30 de Enero de 2008, 15:27 »
Para procesos: Process Explorer.
1563
« en: Miércoles 30 de Enero de 2008, 13:25 »
Gracias, Eternal. Es buena idea mover "mi hilo" al foro de DELPHI De nada pero no respondiste mi pregunta. ¿Funciona bien cuando llamas a esa funcion desde un programa de C++, si o no?
1564
« en: Miércoles 30 de Enero de 2008, 13:22 »
Cierto, pero al cambiar ctime por ctime_s esta requiere otros parametros. Sabes como debe de llmarse para evitar el warning? No tiene la mas minima importancia ese warning ... si pones esta linea al principio del codigo no lo mostrara: #pragma warning( disable : 4996 )
PD. No uses ctime_s ya que solo esta disponible desde VC++ 8.0 (.NET 2005) y no funcionara en VC++ 6 o 7.1 (.NET 2003).
1565
« en: Miércoles 30 de Enero de 2008, 12:39 »
Eternal Idol, gracias por la respuesta. Esperaré unos días y lo consultaré en el foro DELPHI. El que haya incluido mi consulta en esta sección se debe a que ese tipo de función ya la tenía en una librería desarrollada con DELPHI (¡y funcionaba!). Parte de esa DLL la estoy ahora reescribiéndola en C++ Builder y me ha aparecido ese error. No me entendiste bien. Si cuando llamas a esa funcion desde un programa de C++ funciona bien entonces voy a mover tu hilo al foro correspondiente ya que eso significaria que el problema esta en el codigo de Delphi. Si el problema esta en el codigo de C++ entonces esta ubicado correctamente aca. De cualquier manera nunca repitas temas en diferentes subofors por favor.
1566
« en: Miércoles 30 de Enero de 2008, 09:09 »
Si eso (_USE_32BIT_TIME_T) esta definido antes que time.h se procese entonces tu codigo va a funcionar. Es exactamente lo que te dije, normalmente time_t 8 bytes y usando 4 tenes problemas, con ese define time_t tendra 4 bytes (32 bits) y entonces el tamaño sera el mismo en ambas variables.
El warning no sale por el tipo de la variable ya que haces un casting, sale por otra razon que realmente no viene al caso (Microsoft creo nuevas funciones mas seguras para todas las funciones que usen cadenas como parametros).
1567
« en: Miércoles 30 de Enero de 2008, 08:07 »
Espero haber acertado con la sección, pues mi consulta tiene que ver tanto con DELPHI como con C++ BUILDER. Si la DLL cuando es llamada desde C++ funciona bien entonces habria que mover el hilo al foro de Delphi.
1568
« en: Martes 29 de Enero de 2008, 21:27 »
NO SE HACEN TAREAS.
1569
« en: Martes 29 de Enero de 2008, 19:38 »
No podes usar hora como si fuera time_t, al menos en VC++ 8 (.NET 2005) un time_t ocupa 8 bytes y un unsigned long int 4 bytes. Asi si funciona: time_t dt = hora; horaLeg = ctime(&dt);
1570
« en: Lunes 28 de Enero de 2008, 14:11 »
No hagas caso al SPAMER. Solamente se registró y abrió tres hilos para "recomendarnos" una página que "encontró". Fueron 4 aunque uno ya lo borre (y reporte los otros)
1571
« en: Domingo 27 de Enero de 2008, 17:22 »
Es lo mismo (aunque en tu caso tenes que usar memoria dinamica), en ambos casos necesitas el casting [(char *)] excepto que siendo dc un puntero cuando hagas sizeof te devolvera 4, hace sizeof del nombre de la estructura o de *dc.
1572
« en: Domingo 27 de Enero de 2008, 16:31 »
Tenes que enviar bytes y a sendto pasarle como parametro un puntero a tu estructura. En este caso solo tenes un inconveniente TCB ( Componentes_TCB *TCB;) es un puntero y por lo tanto no tiene ningun sentido en el programa que reciba esta estructura ... o cambias la estructura o envias otra cosa. Ejemplo orientativo: Datos_Componenes_Conexion dc; sendto(s, &dc, sizeof(dc), 0, &toaddr, sizeof(toaddr));
1573
« en: Sábado 26 de Enero de 2008, 10:46 »
Es Open Source, anda a saber que porqueria bajaste en realidad ...
1574
« en: Jueves 24 de Enero de 2008, 12:21 »
YA lo sabia, pero estaba haciendo una cosa mal. YA esta solucionado... ¿Entonces que es lo que no entendiste? Si no pones la solucion lo mejor seria borrar el hilo ya que no le sirve a nadie en este estado ...
1575
« en: Jueves 24 de Enero de 2008, 09:59 »
Puede que el problema sea que no se ejecuta todo el codigo hasta que no se termina el ShowMessage, proba asi: void __fastcall TForm2::Timer1Timer(TObject *Sender) { Timer1->Enabled=false; ShowMessage(L"oso nicoloso"); }
Páginas: 1 ... 61 62 [63] 64 65 ... 205
|
|
|