|
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 - fachamix
1
« en: Sábado 7 de Enero de 2012, 13:27 »
old: write(server_sockfd,buffer,sizeof(buffer)); new: write(client_sockfd,buffer,strlen(buffer));
SOLVED!
2
« en: Sábado 7 de Enero de 2012, 04:12 »
Tengo el siguiente codigo, un simple servidor usando sockets sobre linux. al momento de hacer el "write" se termina la conexion ... y me canse de revisar el codigo. Me duele la cabeza. aqui el bendito codigo. #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #include <netinet/in.h> #include <arpa/inet.h> int main() { printf("Iniciando servidor ...\n\r"); int server_sockfd, client_sockfd; struct sockaddr_in server_dir, client_dir; int server_len, client_len; char buffer[1024]; server_sockfd = socket(AF_INET, SOCK_STREAM, 0); server_dir.sin_family = AF_INET; server_dir.sin_addr.s_addr = inet_addr("10.0.0.4"); server_dir.sin_port = htons(9981); server_len = sizeof(server_dir); bind(server_sockfd,(struct sockaddr*)(&server_dir),server_len); listen(server_sockfd,5); while (1) { printf("Esperando clientes ...\n\r"); client_len = sizeof(client_dir); client_sockfd = accept(server_sockfd,(struct sockaddr*)&client_dir,(socklen_t*)&client_len); if (client_sockfd == -1) { } printf("Cliente conectado, esperando datos ...\n\r"); while (1) { memset(buffer ,'\0',sizeof(buffer )); int temp = read(client_sockfd,buffer,sizeof(buffer)); buffer [strlen(buffer ) - 2] = '\0'; printf("Leidos %d \n\r",temp ); printf("Datos recibidos [%s]\n\r",buffer ); if (strcmp(buffer ,"quit") == 0) { break; } printf("Enviando respuesta de ECHO\n\r"); //ESTO SI SE EJECUTA strcpy(buffer ,"DATOS-RECIBIDOS"); //ESTO TAMBIEN write(server_sockfd,buffer,sizeof(buffer)); //CREO QUE AQUI ESTA EL ERROR, //HACE QUE SE TERMINE EL PROGRAMA ABRUPTAMENTE } close(client_sockfd); printf("Fin de conexion.\n\r"); } close(server_sockfd); }
para probar este codigo , ejecuto este servidor, y para el cliente uso TELNET apuntando a la IP. Logro conectarme y mandar un paquete, pero automaticamente el programa termina abruptamente. gracias por su ayuda.
3
« en: Lunes 21 de Noviembre de 2011, 13:21 »
codeblocks hermano.
4
« en: Lunes 21 de Noviembre de 2011, 13:20 »
Gracias che. Sabia que "&vint_vector[0] te da begin y &vint_vector[10] te da end." pero no queria quedarme con la duda.
Luego de buscar un poco , me di cuenta de que cout y << no estaban especificados para trabajar con un interador de este tipo. ... es decir.... lo mismo que me dijiste vos.
ah!, de 4 foros, sos el unico que me pudo decir esto.
Saludos y muchas gracias.
5
« en: Miércoles 16 de Noviembre de 2011, 14:05 »
Tengo problemas imprimiendo la direccion de un puntero usando "cout" Pongo las 2 formas, con printf y cou y devuelven diferentes resultados. Que estoy haciendo mal ? #include <iostream> #include <stdio.h> #include <vector> using namespace std; int main() { vector<int> vint_vector(10,99); vint_vector[0] = 1; vint_vector[1] = 2; vint_vector[2] = 3; vint_vector[3] = 4; cout << "BEGIN = " << &vint_vector.begin() << endl; //---> prints a wrong address printf("BEGIN = %p \n\r",vint_vector.begin()); for (int i = 0; i <= 10; i++) { cout << "i = " << i << " direccion vint_vector[i] = " << &vint_vector[i] << endl; } printf("END = %p \n\r", vint_vector.end()); cout << "END = " << &vint_vector.end() << endl; //---> prints a wrong address return 0; }
6
« en: Sábado 27 de Febrero de 2010, 16:54 »
El control DateTimePicker, nos permite seleccionar una fecha de un calendario visual. La fecha se nos devuelve con el tipo TDateTime, este tipo de datos puede convertirse a String haciendo:
dtp_fecha->Date.DateString();
donde dtp_fecha , es el puntero de tipo DateTimePicker (del tipo del control visual)
lo que no puedo lograr es , que dado un STRING de fecha, pueda poner al control con la fecha del string.
es decir, el control me permite obtener la fecha cargada al control en tipo String, pero no se como cargarle una fecha al control mediante un dato tipo String
7
« en: Martes 16 de Febrero de 2010, 16:55 »
puse este post en WINDOWS , pero creo que debe tener mas con programacion que con usar windows. nadie me contesta en ese subforo tampoco. quizas alguno de ustedes, programando , tuvo esta necesidad alguna vez.
"me gustaria saber como agregar una impresora virtual en windows xp , de la misma manera que lo hace el programa PDFcreator que crea una impresora virtual para generar documentos PDF.
me gustaria saber como crear una impresora virtual (es decir que exista de manera logica pero no fisica), y que al enviar un documento para imprimirse en dicha impresora.... como ejecutar una accion ... cualquiera.
no tengo idea de como se hace esto"
8
« en: Martes 16 de Febrero de 2010, 05:57 »
me gustaria saber como agregar una impresora virtual en windows xp , de la misma manera que lo hace el programa PDFcreator que crea una impresora virtual para generar documentos PDF.
me gustaria saber como crear una impresora virtual (es decir que exista de manera logica pero no fisica), y que al enviar un documento para imprimirse en dicha impresora.... como ejecutar una accion ... cualquiera.
no tengo idea de como se hace esto
9
« en: Viernes 18 de Septiembre de 2009, 21:46 »
como puedo cambiar el asunto de mi post, cuando ya este solucionado , y agregar la palabra SOLUCIONADO ????
10
« en: Viernes 18 de Septiembre de 2009, 19:05 »
solucionado:
cvPutText(image,itoa(image->height,buffer,10),cvPoint(10,10),&fuente,CV_RGB(200,0,0));
necesitaba esta funcion: itoa()
saludos
11
« en: Viernes 18 de Septiembre de 2009, 19:02 »
tengo una estructura, en cuya composicion existe un campo de tipo INT, llamada campoint. struct ejemplo { int campoint; char campochar; };
luego tengo un puntero a esa estructura: luego tengo el puntero apuntando a una estructura tipo ejemplo: struct ejemplo prueba; puntero = &prueba;
asi , para acceder al campo entero desde el puntero , uso: ahora bien, ... aqui viene mi pregunta: tengo una funcion del tipo: void funcion(const char*,...);
que imprimira en una imagen el campo , y yo quiero imprimir el campo INT en . como deberia llamar a la funcion para que mi dato tipo INT concuerde con el parametro char* de la funcion funcion() ????? probe con : funcion((char*)(puntero->campoint)); funcion((const char*)(puntero->campoint)); y nada... alguna sugerencia ????
12
« en: Viernes 18 de Septiembre de 2009, 14:59 »
gracias muchachos, ustedes dos siempre dando la posta.
un saludo
(hace mucho no aparecia por el foro ... estoy haciwendo mi trabajo final de carrera)
13
« en: Viernes 18 de Septiembre de 2009, 06:58 »
se puede programar un protocolo ??? es decir, se puede programar un protocolo , ya sea en linux o windows, que trabaje en la misma capa que TCP o UDP ????? como se hace ??? documentos ?
14
« en: Lunes 25 de Mayo de 2009, 17:57 »
fijat en los metodos , creo que esta dentro de uno que se llama CANVAS, ahi tiene que estar PIXEL
15
« en: Jueves 21 de Mayo de 2009, 23:39 »
fijate en que pixel estas .
16
« en: Sábado 16 de Mayo de 2009, 02:30 »
al ultimolo consegui en taringa.
gracias igual
17
« en: Jueves 14 de Mayo de 2009, 20:19 »
y en que parte del codigo voy almacenando la cadena sin espacios en h ???
18
« en: Jueves 14 de Mayo de 2009, 19:44 »
tmp siempre que no es NULL es un puntero a un espacio (' ') dentro de la cadena original (h en este caso) entonces sprintf le da formato.
sprintf(tmp,"%s",tmp+1);
Por ejemplo: tmp = " PROBANDO ESTO - CHE"; tmp + 1 = "PROBANDO ESTO - CHE";
entonces tmp pierde el espacio del principio mediante una copia. perfecto hasta aqui, pero suponiendo que la cadena sea "HOLA FORO SOLOCODIGO", sin espacio al principio: tmp = "HOLA FORO SOLOCODIGO"; tmp + 1 = "FORO SOLOCODIGO"; supuestamente como lo entiendo, perderia la primera palabra ,.... aunque ya vi queno es asi, que si funciona bien, pero no se porque NO PIERDO LA PRIMER PALABRA
19
« en: Jueves 14 de Mayo de 2009, 18:26 »
nomanejo ese entorno, pero :
1) averiguar, si se puede desenlazar sin perder lo que ya esta cargado (dudo mucho)
2) NO DESENLAZAR, mantener el enlazado del datasource, y HACER UN ALTA. aqui tienes que tener cuidado, a veces, los grids, tienen propiedades de SOLO LECTURA (desconosco tu caso), debes revisar los atributos de tu grid, si te permite realizar cambios o no, y modifica a gusto los atributos de tu objeto grid.
20
« en: Jueves 14 de Mayo de 2009, 18:22 »
lo probe ahora, y si funciona asi.
pero no entiendo , como hace para sacar los espacios.
se para que sirve strchr.
cuando sprintf, no se porque hace tmp+1
tampoco se, en que momento SACO LOS ESPACIOS A h
una mano señores, de explicacion gaucha de instrccion por instruccion, como un cuento jajajaja.
21
« en: Jueves 14 de Mayo de 2009, 15:35 »
VM WARE
22
« en: Jueves 14 de Mayo de 2009, 15:33 »
el codigono funciona en windows. compila perfectamente pero no funciona. use codeblocks con MingW. aqui tu codigo: #include <iostream> using namespace std; int main() { cout << "probando quita espacios" << endl; char*tmp; while((tmp=strchr("HOLA PROBANDO ESTO - CHE",32))!=NULL) sprintf(tmp,"%s",tmp+1); return 0; }
probe poniendo y sacando string.h , no funciona, salta error en el sistema.
23
« en: Jueves 14 de Mayo de 2009, 00:19 »
lo del cluster, no es nada complicado hoy por hoy. existen distribuciones que vienen listas para hacer clusters, las tienes que instalar en las maquinas del futuro cluster, y listo, el cluster se arma solo, de manera automatica. para servidor, mientras mas liviana la distribucion, y mejor hardware, ... mejor. www.distrowatch.comentra en el buscador, y pone la opcion de filtro SERVERS
24
« en: Jueves 14 de Mayo de 2009, 00:15 »
logico mi amio.
cuando vos enlazas el datagrid a un datasource, es como si estarias manipulando LA FUENTE DE DATOS (datasource) mediante el datagrid. seguramente tu datasource apunta a una BD o no ???
cualquier modificacion que hagas en el datagrid, afectara a la tabla a la que apunta.
agregar una fila, al grid, cuando esta enlazado, es lo mismo que decir que quieres, hacer un alta en la tabla .... no se puede hacer asi.
tienes que desvincular el grid del data source para hacer eso.
seria buenq ue nos digas, con que entorno de desarrollo trabajas ... visual c++ , o builder, .. etc etc etc.
basicamente lo que te digo es que cuando intentes agregar una fila mas al grid, al atributo DATASOURCE, no dejes vacio, que no apunte a nada, desvinculalo de cualquier datasource
25
« en: Miércoles 13 de Mayo de 2009, 02:36 »
|
|
|