por lacabra25 » Dom Ago 10, 2008 12:25 am
Hola, tengo unas pequeñas consultas para terminar el servidor de partidas en red:
- Seria posible, de algun modo, probar el servidor usando telnet o algo asi, es mas que nada para poder ir comprobando que el servidor funciona mientras voy acabandolo y mientras hago la parte cliente en el juego que se conectara al servidor, pues aun tengo que hacer la parte cliente.
- Como podria evitar que al usar printf el texto fuera al archivo que crea SDL para ello, y asi el texto se muestre en el modo texto, es porque el servidor lo estoi haciendo en modo texto ya que no necesita mostrar ninguna imagen pues solo se ocupa de atender a los jugadores que se conecten, y asi sin imagenes ocupa menos memoria, por ello para las cuatro o cinco lineas que tenga que mostrar lo veo mas comodo y mejor que lo haga con texto por consola.
- He estado mirando el enlace y lo que ha escrito hugoruscitti y tengo algunas preguntas para tenerlo todo claro, segun he estado viendo lo de el socket set solo me permite ver si hay algun socket que este generando un evento (¿con la funcion de check solo puedo ver cuantos sockets estan "generando eventos"?, pero entonces lo unico para lo que sirve es para descartar el comprobar socket por socket si esta generando eventos pues no aporta ninguna informacion mas, ¿esa funcion no hace nada mas que decir cuantos sockets estan generando eventos, para usar esa funcion no es mejor comprobar directamente socket por socket con la ready?); y con la funcion ready ¿solo se puede saber si un socket esta generando eventos, no se podria saber cual socket esta generando eventos por que se halla desconectado o por que envie datos de forma directa sin tener que comprobarlos uno a uno?
- ¿Como puedo diferenciar cuando un socket genera eventos por que envia datos, porque lee datos, o por que se halla desconectado o perdido la conexion?, ¿que el cliente este leeyendo datos genera un evento o no y simplemente se mantiene el cliente a la espera de recivir datos sin que el servidor sepa que esta esperando?, ¿la dexconesion es cuando hay un error leeyendo datos enviados por el cliente verdad?, ¿si el servidor intenta leer datos del cliente antes de que este los envie, se mantiene a la espera o da error directamente?
- Al conectar con el cliente, lo unico que se del cliente es un socket que devuelve la funcion de SDL al conectarme con el cliente, pero ¿como puedo saber la ip? la parte de a partir del numero de 32 bits sacar cada byte de la ip se como es, lo que no se es como tener ese numero de 32 bits a partir de el socket con el que el servidor se comunica con el cliente; y una ultima cosa, como puedo saber la ip del ordenador donde esta ejecutandose el servidor, porque lo intente pero claro, obtenia 0.0.0.0 y estoi segure que esa no es mi direccion ip ni en internet y en la red local, jeje, ¿podria obtener ademas de la direccion de red local (en caso que este en una red local) del ordenador donde se ejecute el servidor, la ip del ordenador visto desde internet?
- Esto es una duda que no es que necesite resolverla para terminar el servidor de partidas pero si alguien la sabe estaria bien, ¿cuando un ordenador esta en una red local, para conectar con el desde internet, se conecta solo con la direccion del router, o hay que mandarle informacion al router de la ip del area local con la que se quiere conectar?
Esta cuenta ahora a pasado a la cuenta jhg