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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 ... 401
1621  Programación / Programación C/C++ / Re: Duda sobre algoritmo de arreglo c++ en: 10 Noviembre 2015, 16:38 pm
Ese algoritmo es una forma ineficiente del algoritmo de ordenación burbuja. Ese for sirve para repetir la operación X veces (donde X es e tamaño del arreglo), que es parte del algoritmo.
1622  Programación / Programación C/C++ / Re: Abrir multiples conexiones Sockets C en: 10 Noviembre 2015, 10:53 am
Los sockets pueden ser "bloqueantes" o "no bloqueantes". En el caso que comentas, probablemente sea bloquenate. Para ponerlo "non-blocking", no te puedo ayudar, que no utilizo unix. Busca por ahí, y encontrarás.

De todos modos, tal ocmo los tienes, otra opción es tener un thread para leer del servidor, y luego otro thread para los sockets ya abiertos (o un thread por socket, tú verás).

Claro que, para recv, me parece más cómodo un socket no bloqueante. Lo dicho, echa un vistazo para ver cómo cambiar.

En caso de sockets de Windows, se haría así:
Código
  1. u_long block = 1 // 1 or 0, bloquing or non blocking;
  2. ioctlsocket(sock, FIONBIO, &block);
1623  Programación / Programación General / Re: Orientación en un pequeño proyecto en: 10 Noviembre 2015, 09:27 am
Qué clases hacer es algo que tendrás que ver tú, según cómo lo quieras desarrollar.

De todos modos, un servidor simple, puede tener 1 bucle para encontrar nuevos clientes y un bucle para leer y responder a las peticiones de los clientes. Luego ya puedes implementar PINGS para evitar sockets desconectados ocupando memoria, o una consola para controlar desde el servidor, ya según te convenga.

El cliente, por su parte, habría de tener 2 threads (según como lo orientes, desde luego). En vez de ocupar un thread en un bucle infinito leyendo del servidor, puedes tener un timer que haga eso.
En cualquier caso, <interfaz gráfica><-><socket>, dos ramificaciones diferentes, comunciadas entre sí, desde luego.

Esa es una forma posible, ya verás qué prefieres.

Esquematiza el proyecto, dibuja un diagrama de flujo si te es más cómodo.

De todos modos, trata de empezar a hacer al menos un servidor que reciba conexiones, algo así. No te puedo decir cómo hacer todo el proyecto xD
1624  Programación / Programación C/C++ / Re: Abrir multiples conexiones Sockets C en: 10 Noviembre 2015, 09:17 am
Te pongo un ejemplo práctico:

Código
  1. socket *sockets;
  2. listener li;
  3.  
  4. crearArray(&sockets);
  5. inicializarSocketDeEscucha(li);
  6.  
  7. while(true){
  8.    socket sock;
  9.    sock = nuevoCliente(listener);
  10.    if(sock) añadirSocket(&sockets, sock);
  11.    porCadaSocket -i-{
  12.        escucharYResponder(sockets[i]);
  13.    }
  14. }

En fin, es un esquema, con funciones que creo que entiendes lo que hacen. En bucle, haces estas acciones:
-1: Encuentras nuevos clientes si los hay.
-2: Escuchas y respondes a cada cliente. Si por ejemplo un cliente te envía un mensaje de chat, reenvías ese mensaje a todos los demás clientes.
1625  Programación / Programación General / Re: Orientación en un pequeño proyecto en: 9 Noviembre 2015, 18:22 pm
Si es eso lo que quieres hacer, tendrás que hacer el cliente en Android, y el servidor. El servidor puede ser http, sí, pero me parece una pérdida de recursos. Sería mejor hacer un servidor dedicado a ese chat.

Sabiendo Java, Sockets y Threads (opcionalmente), no deberías tener problema. Solo idea el protocolo mediante el cual el servidor y los clientes se enviarán datos, y ponte a ello.

Para empezar, puedes hacrlo todo en java sin Android, por comodidad a la hora de depurar el servidor. Además, si lo haces en Java todo, puedes crear y compartir clases entre los proyectos, para así serializar datos a tu gusto y sin problemas.

Any question, be free.
1626  Foros Generales / Foro Libre / Re: Nombres de Personajes de series. en: 9 Noviembre 2015, 16:53 pm
Yo creo que si en 7 años no ha acabado lo que necesitaba, mal vamos no? xDDDDD

Post del 2008 ._.
1627  Foros Generales / Foro Libre / Re: El Parlament aprueba la declaración de independencia con 72 votos a favor en: 9 Noviembre 2015, 16:46 pm
Es totalmente absurdo que una comunidad se crea con el poder de secesionarse. Cataluña es de España. Cataluña, como el resto de comunidades autónomas, no tiene poder propio para irse. No tiene más poder que el que España le otorga.
Es una vergüenza que el gobierno permita este tipo de actos, que son verdaderas ofensas a España.

En otros tiempos, a este tipo de cosas se les llemaba declaraciones de guerra y traición.


Sorry, tenía que soltarlo :3
1628  Programación / Programación C/C++ / Re: Abrir multiples conexiones Sockets C en: 9 Noviembre 2015, 13:35 pm
Los sockets abiertos, los conservas en un array. Luego, basta iterar por cada socket del array, y leer en caso de que haya bytes que leer, y enviar datos si es necesario.

Deberías estructurar tu programa. Crea funciones para hacer el código legible.
1629  Programación / Programación C/C++ / Re: sudoku en: 8 Noviembre 2015, 21:04 pm
Presuponiendo las reglas del sudoku:
1: Comprueba fila a fila, que estén los 9 números.
2: Comprueba columna a columna, que estén los 9 números.

Esas 2 se pueden englobar en un: para caa número de la matriz, comprueba si se repite en su fila o columna. Si se repite, es incorrecto.

Por último, ve cuadro a cuadro comprobando si existe. Esta parte es la más complicada, y puedes dejarla de momento para el final.
1630  Programación / Programación C/C++ / Re: Problema codeblocks en: 8 Noviembre 2015, 20:55 pm
¿Y si ejecutas tú el programa compilado?
¿El código que compilas es correcto?
Páginas: 1 ... 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines