Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Sockets y Thread en delphi. net (https://www.clubdelphi.com/foros/showthread.php?t=35289)

jescar 06-09-2006 15:13:04

Sockets y Thread en delphi. net
 
Que tal buen dia a todos

estoy programando en Delphi .NET y estoy utilizando las librerias que ofrece el .NET para los Thread y Socket, ya que estoy haciendo un juego en este, el problema que presento es que se me pierden paquetes ya que cada movimiento de los jugadores los envio al servidor dedicado y este recibe y los evia a todos los clientes, pero hay ocaciones que se me pierden y no se porque o que debo de hacer para que esto no pase.

lo que hago en el servidor es que por cada socket de cliente conectado corro un thread para que escuche y reciba la info luego este la envia

alguien me puede dar una mejor idea de como implementarlo o algun ejemplo para guiarme se los agradecere mucho..

Gracias

jachguate 06-09-2006 15:28:08

En principio, esto depende del protocolo, y dado que no lo has mencionado lo aclaro por si va por allí el asunto:

Si estas usando TCP, está garantizado que no habrá perdida de paquetes, si estas usando UDP, es normal que haya pérdida.

Saludos.

;)

jescar 06-09-2006 15:33:04

Sockets y Thread en delphi. net
 
si estoy usando TCP pero cuando hagog movimientos de jugadores muy rapido o mantengo un envio constante de informacion no llegan o no recibe todos los paquetes el servidor, y no se realmente que es lo que pasa no tengo mucha esperiencia usando sockets y thread y me gustaria que me dieran una idea o ejemplo para guiarme, cualquier sujerencia es bienvenida

jachguate 06-09-2006 16:40:26

¿cómo sabes que no todos los paquetes llegan al servidor?

El protocolo garantiza que todos los paquetes llegarán, y lo harán en orden.

Una forma "fácil" de comprobarlo es escribir un log en el cliente con los mensajes enviados y uno en el servidor con los mensajes recibidos x cliente, luego comparar los logs, que debieran ser iguales.

Me atrevo a pensar que el error estará en tu programa, no en el protocolo en si o en los componentes de delphi (que ignoro cuales usas), pero estoy seguro que el implementar esta bitácora ayudará a aclarar las cosas.

Saludos.

jescar 10-09-2006 03:35:15

Thread Socket
 
Bueno implemente lo de la bitacora ya comprobe que llegan los paquetes, ahora el problema que presento es que cuando dicen a jugar varios jugadores, no se como sincronizar la llegada de los paquetes digamos dos jugadores mantienen a pretada una tecla, ya que estoy enviando cada movimiento de un jugador a todos y la refresco en sus pantallas, pero alli es donde aveces se trava o me tira un error de referencia y no se como implementarlo de una mejor manera.


no se si me pueden ayudar

isarmiento 20-09-2012 16:28:35

Tengo un problema con eso tambien.... soy nueva acá, les agradecería cualquier ayuda...

estoy haciendo una subasta en línea con delphi7... el problema es que tengo 2 clientes y 2 servers.... estoy intentando
que mientas 1 server habla con el cliente, el otro envíe info de la base de datos....

el problema es que los sockets chocan...

tengo que implementar hilos pero no tengo idea de como :O

me ayudan?

Saludos :)

Casimiro Notevi 20-09-2012 16:38:49

Bienvenida a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

jachguate 20-09-2012 16:40:49

Cita:

Empezado por isarmiento (Mensaje 443720)
soy nueva acá, les agradecería cualquier ayuda...

Bienvenida, que disfrutes tu estancia en los foros :)


Cita:

Empezado por isarmiento (Mensaje 443720)
el problema es que tengo 2 clientes y 2 servers.... estoy intentando
que mientas 1 server habla con el cliente, el otro envíe info de la base de datos....

el problema es que los sockets chocan...

Te sugiero realizar una descripción más detallada de tu diseño y de tu problema, pues decir "los sockets chocan" no es algo que pueda darnos una idea del problema a quienes no tenemos el código de tu programa, y mucho menos una idea de la solución.

Incluir los mensajes de error exactos, clases de excepción que estas viendo y una descripción general de como llegan a ocurrir es más que deseable.

No olvides incluir información de los componentes que usas para los sockets, si es que usas alguno.

Cita:

Empezado por isarmiento (Mensaje 443720)
tengo que implementar hilos pero no tengo idea de como :O

Aunque siempre es preferible realizar un desarrollo multi-hilos, quizás puedas obviarlo por ahora, sobre todo si eres novata no solo en los foros sino también con Delphi y el desarrollo de software en general.

Cita:

Empezado por isarmiento (Mensaje 443720)
me ayudan?

Por ahora, parece imposible, pero si mejoras tu pregunta, seguro obtendrás ayuda.

Un saludo también. :)


La franja horaria es GMT +2. Ahora son las 23:29:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi