Como Funcionaria El Tanteador En Un Torneo En Red?


Ir a la página 1, 2  Siguiente

Objetivo: Como Funcionaria El Tanteador En Un Torneo En Red?
diagrama
Buenas gente,

El tanteador fue probado con un par de torneos pequeños de 9 y 11 jugadores, dando buenos resultados, salvo que para el que tantea es algo incomodo porque es el arbitro del partido y tiene que estar frente a la mesa y para tantear tiene que ponerse medio de costado, pero se soluciona con un teclado inalámbrico y el arbitro se sienta enfrente de la pc del otro lado de la mesa y eso queda solucionado.

El objetivo de este pos es encontrar un diseño de funcionamiento (clientes y servidor o clientes/servidor o de otra forma) en red del tanteador, en un torneo de tenis de mesa donde hay muchas mesas.

objetivos que ire agregando:
1_ Los clientes informan de grupos terminados o partidos de semi-final o finales (partidos mano a mano) al organizador (servidor o cliente/servidor u forma si la hay no se)
esto puede ser en tiempo real o simplemente enviando un captura de pantalla del resultado final no se.

vista de un posible visualizador del servidor en tiempo real:
visualizador

última edición por v3ctor el Martes, 29 Abril 2014, 17:54; editado 1 vez
Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
"El objetivo de este pos es encontrar un diseño de funcionamiento (clientes y servidor o clientes/servidor o de otra forma) en red del tanteador, en un torneo de tenis de mesa donde hay muchas mesas."

una base de datos en red
en el servidor principal y que el texto en la pantalla del servidor se actualize con un timer cada x segundos
esa es mi idea

Perfil MP  
Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
V3ctor:

Citar:
"Pantallas grandes...eso sería un lujo más bien para el futuro"

Es buena idea pensar en las opciones que se pueden presentar en el futuro, para que el diseño de tu aplicación la pueda integrar aunque ahora no lo programes.

Citar:
esto puede ser en tiempo real o simplemente enviando un captura de pantalla del resultado final no se.

Yo pienso que puedesn usar mensajes de texto (no capturas de pantalla). Osea que funcione como un chat pero que para que el programa servido o cliente interprete el mensaje

Por ejemplo:
Se me ocurre que puede haber 2 tipos de mensajes:
Mensaje de Actualización de Marcador: la primera palabra del mensaje seria "MarcadorActualizacion", asi el programa sabe que la cadena que le llega contiene datos del marcador de una mesa y los nombres de los jugadores.
Y se encargue de mostrarlos "automáticamente"

Mensaje de comunicacion entre los arbitros la primera palabra del mensaje seria "Conversación", asi el servidor sabe que es un mensaje que tiene que presentar en la pantallita del chat.

Saludos

Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
como objetivo principal mas haya de la programación es facilitar al organizador todo lo posible eso primero, después lo de visualizar resultados y demás.... sigo pensando.

1- me estoy inclinando por hacer un servidor, servidor que recibirá mensajes de chat de los clientes (creo que no es importante que se puedan mandar mensajes entre clientes, además de que eso seria una distracción que no es conveniente a mi manera de ver ) me esta agradando mucho la idea de que los clientes envíen los resultados en tiempo real incluso los tantos del momento.


2-los tanteadores necesitan un chat para que los árbitros puedan hacer consultas al organizador, informar de que terminaron etc.
los clientes necesitan dos socket, uno para el chat y otro para los envíos de resultados automáticos???????????

Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
jsbsan escribió: [Ver mensaje]


Por ejemplo:
Se me ocurre que puede haber 2 tipos de mensajes:
Mensaje de Actualización de Marcador: la primera palabra del mensaje seria "MarcadorActualizacion", asi el programa sabe que la cadena que le llega contiene datos del marcador de una mesa y los nombres de los jugadores.
Y se encargue de mostrarlos "automáticamente"

Mensaje de comunicacion entre los arbitros la primera palabra del mensaje seria "Conversación", asi el servidor sabe que es un mensaje que tiene que presentar en la pantallita del chat.

Saludos


pregunto para que el servidor no tenga que hacer ese filtro entre mensaje de chat y tantos de un cliente no es mejor hacer socket por separados???

Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
V3tor:

Citar:
para que el servidor no tenga que hacer ese filtro entre mensaje de chat y tantos de un cliente no es mejor hacer socket por separados???

No si el servidor puede diferenciar entre "tipos de socket"...

Hacer el filtro es una tonteria, es simplemente leer el inicio de los mensaje y comprobar que es una u otra palabra, y segun lo que sea el inicio, actue en consecuencia...

if instr$(mensaje,1,4)="Marc" then
'es dato de marcadar
'sigo leyendo el mensaje, que trae datos de resultados, mesas, jugadores
.....
else
if instr$(mensaje,1,4)="Char" then
'en un mensaje de chat,,, lo muestro en la pantalla
....
endif
endif

Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
jsbsan escribió: [Ver mensaje]


if instr$(mensaje,1,4)="Marc" then
'es dato de marcadar
'sigo leyendo el mensaje, que trae datos de resultados, mesas, jugadores
.....
else
if instr$(mensaje,1,4)="Char" then
'en un mensaje de chat,,, lo muestro en la pantalla
....
endif
endif



estoy probando esto y activando botones del servidor con el cliente, si se conecta Mesa 1 , el botón Mesa 1 pasa de enable=false a true


Public Sub Socket_Read()
Dim Recibido As String
Dim MesaRecibido As String
Read #SocketAceptado, Recibido, Lof(SocketAceptado)
TextArea1.Text = TextArea1.Text & Recibido & gb.NewLine
Print Recibido
MesaRecibido = Mid(Recibido, 1, 6)
Print MesaRecibido
Select Case MesaRecibido
Case "Mesa 1"
btnMesa1.Enabled = True
Case "Mesa 2"
btnMesa2.Enabled = True
Case Else
Print "error"

End Select



jajaj estoy haciendo cualquiera resulta que desde una misma maquina hago las pruebas, dos clientes y un servidor y andan el sevidor los diferencia por el puerto remoto creo:

pantallazo_socket_servidor

pantallazo_tanteador_8

pantallazo_tanteador_9

última edición por v3ctor el Miercoles, 30 Abril 2014, 07:22; editado 1 vez
Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
v3ctor:

Leete este documento, aunque sea para java, es aplicable a gambas:
http://www.dlsi.ua.es/asignaturas/sid/JSockets.pdf

Ademas viene un esquema muy explicativo de como funcionan los sockets para cliente-servidor:
esquema_servidor_cliente


Nota:
Para tener varios clientes y un servidor, usa "hilos de ejecución" (Thread), en gambas eso no existe.
Pero recuerdo que en mi programa de GambasChat lo resolvi estudiando el código del ejemplo que trae el Ide de gambas... (ahora no me acuerdo como lo hice), si fue usando un filtro en cada cliente o porque era un array de objetos sockets "clientes" diferentes...

última edición por jsbsan el Miercoles, 30 Abril 2014, 10:28; editado 1 vez
Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
jsbsan

gracias por la info, ya lo estoy leyendo

en principio el servidor (ATorneos=Administrador de torneos) ATorneos, le voy a dejar un puerto predeterminado de comunicación aunque se podrá cambiar. tengo que ver como
el servidor envía la ip a sus clientes o como los clientes encuentran la ip

por ejemplo cuando un cliente se desconecta saber que botón quedara en enable=false

ahí en el diagrama habla de publicar el canal de comunicación , creo se refiere al puerto.

no se pensando ahora estaría bueno poder dispersar por la red ip del servidor y su puerto de comunicación y que los clientes tengan una subrutina que se encargue automáticamente de conseguir la ip y puertos
publicados por el servidor, fa que interesante es esto de programar cuestiones de red jajaja

saludos, sigo leyendo y practicando pronto saldrá la primera versión del servidor que ya lo bautice ATORNEOS

Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
'CODIGO EXTRAIDO DE PROGRAMA DE JULIO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Public Sub buscarip()
Dim hproc As Process
hproc = Exec ["ifconfig"] For Read As "ifconfig"
Wait 1
' asignarip(var.cadena)
asignarip(cadena)
End

Public Sub ifconfig_read()
Dim sline As String
Try Read #Last, sline
' var.cadena &= sline
cadena &= sline
End

Public Sub asignarip(sline As String)
Dim ini As Integer
Dim ini2 As Integer
Dim ini3 As Integer
Dim a As Integer
Dim ip As String
' DIM sline AS String
'primera red
ini = InStr(sline, "rec. inet:") '+ Len("rec. inet:")
'final = RInStr(sline, "Difus.:")
If ini <> 0 Then
ip = Mid(sLINE, ini + Len("rec. inet:"), 13)
Print ip
If validar(ip) Then ComboBoxIP.Add(ip)
Endif
'------------------
'segunda red
'-------------------
ini2 = InStr(Mid$(sline, ini + Len("rec. inet:") + 14, Len(sline)), "rec. inet:") '+ Len("rec. inet:")
'final = RInStr(sline, "Difus.:")
If ini2 <> 0 Then
ip = Mid(sLINE, ini2 + Len("rec. inet:"), 13)
If validar(ip) Then ComboBoxIP.Add(ip)
Endif

'----------------
'3º red
'-----------------
ini3 = InStr(Mid$(sline, ini2 + Len("rec. inet:") + 14, Len(sline)), "rec. inet:") '+ Len("rec. inet:")
'final = RInStr(sline, "Difus.:")
If ini3 <> 0 Then
ip = Mid(sLINE, ini3 + Len("rec. inet:"), 13)
Print ip
If validar(ip) Then ComboBoxIP.Add(ip)

Endif

End


Public Function validar(ip As String) As Boolean
Dim valor As Integer
Dim a As Integer
Dim letra As String

For a = 1 To Len(ip)
letra = Mid$(ip, a, 1)
If InStr(Upper("abcdefghijklmnñopqrstuvwxyz"), Upper$(letra)) <> 0 Then
Return False
Endif
Next



Return True

End


reutilice tu código julio aunque tengo un inconveniente pues me pone dos veces la misma ip en el combobox

otra cosa aparte no se porque no me funciona este código simple?????

Public Sub txtMensaje_KeyPress()

If Key.code = Key.enter Then
btnEnviar_Click()
Endif

End


ATorneos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ATorneos-0.0.1.tar.gz
Tamaño: 6.82 KB
Descargado: 59 veces
ATorneos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ATorneos-0.0.1.tar.gz
Tamaño: 6.82 KB
Descargado: 59 veces
ATorneos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ATorneos-0.0.1.tar.gz
Tamaño: 6.82 KB
Descargado: 59 veces

Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4061s (PHP: -69% SQL: 169%)
Consultas SQL: 50 - Debug off - GZIP Activado