Autor
|
Tema: Como subir datos a server con C (Leído 7,706 veces)
|
Hacklinx
Desconectado
Mensajes: 38
|
Veo que tengo mucho que aprender en lo referente a sockets ahora me pondré a ello, ya puedo trabajar con sockets sin problemas, tengo apuntes para windows, asi que a darle.
Luego de los demás que habláis me pierdo bastante, vamos yo intentaré conectarme por http al puerto 80 del server, y allí intentaré subir algo, ya me las apañaré como, eso de enviar variables al score:
Score.php?Name=Pepe&Score=50&...
Entiendo, pero yo no quiero enviar variables, quiero enviar un archivo txt y meterlo en un directorio, y para ello tendré que crear un archivo.php que me recoja no se qué, y conectarme a ese archivo por el puerto 80 con sockets eso es lo que entendí saludos, y gracias.
A ponerse a sockets.. otra vez haha
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Yo te recomendaría enviar los valores desde el juego y abrir un archivo de texto en el servidor para escritura,, le metes las variables y lo cerras inclusive podes tener un txt por jugador,, aunque lo mas recomendable es usar base de datos.. Es mucho el texto? (En realidad el método POST según tengo entendido no tiene limite de tamaño, pero no creo que sea aconsejable enviar por ejemplo,, un libro jeje) Saludos!!
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Yo te recomendaría enviar los valores desde el juego y abrir un archivo de texto en el servidor para escritura,, le metes las variables y lo cerras inclusive podes tener un txt por jugador,, aunque lo mas recomendable es usar base de datos.. Si usas un fichero compartido tienes que tener cuidado con la concurrencia para no machacar datos. Es mucho el texto? (En realidad el método POST según tengo entendido no tiene limite de tamaño, pero no creo que sea aconsejable enviar por ejemplo,, un libro jeje)
El tamaño en POST se puede limitar en el servidor... en cualquier caso, si se envían ficheros grandes también tienes como tope el timeout de la conexión... lo que salte antes te fastidia la subida.
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
El tamaño en POST se puede limitar en el servidor... en cualquier caso, si se envían ficheros grandes también tienes como tope el timeout de la conexión... lo que salte antes te fastidia la subida. Mmm.. cierto.. entonces a usar BD,, aparte es mas pro jejeje
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Si solo son puntuaciones, podrías considerar enviarlas con method GET, y guardarlas todas en un solo archivo.
Eso claro, si son datos de poco tamaño.
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
A mí lo que no me gusta de trabajar con archivos es que tienen dos inconvenientes:
* Hay que tener cuidado con la concurrencia. * Como el algoritmo se tuerza un poco vas a estropear todo el fichero
Yo personalmente prefiero BD... además con PHP es sumamente fácil trabajar con MySql
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Sin duda lo mejor es usar BD, va a poder realizar búsquedas sumamente simples y mostrar los resultados por jugador, por equipo, por tiempo,, bue.. lo que quiera.. aunque si hablamos de un juego "profesional" deben tener sus propios servidores, con aplicaciones que procesan esa información.. yo tengo un proyecto armado en Blitz3D (un FPS), y por sockets enviaba las posiciones de los players a un script PHP que se encarga de reenviar esas coordenadas a los demás jugadores,, era un proceso muy lento,, extremadamente lento y al final terminaban desfasándose los jugadores en la pantalla..
Saludos!!
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
En algo sencillo, aunque menos recomendable, usar un simple fichero de texto plano siempre es una opción.
Da más facilidad en la lectura, y más tiempo para centrarte en el juego, en vez de en el servidor.
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Si,, pero fíjate que yo siquiera guardo los datos,, solo los reenvío, la demora del juego depende de la velocidad del servidor en interpretar la información, interpretar el php, y enviar de vuelta a los demás jugadores.. así mismo era muy lento,, para un juego de ajedrez no supone un problema,, pero para un fps,, pss.. jeje había "inventado" un algoritmo que ahora no recuerdo (tendría que mirar el code) que era creo yo lo mas compacto que se podía hacer para enviar los datos,, enviaba desde un cliente una ecuación (si se quiere llamar así) donde estaba la información "comprimida", los clientes descomponían la ecuación y ahí tenían las coordenadas.. todo eso para ahorrar trafico,, así mismo no funciono..
Saludos!
|
|
|
En línea
|
|
|
|
|
|