Como Funcionaria El Tanteador En Un Torneo En Red?
Objetivo: Como Funcionaria El Tanteador En Un Torneo En Red?
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:
última edición por v3ctor el Martes, 29 Abril 2014, 17:54; editado 1 vez
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:
ú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
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
Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
V3ctor:
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.
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
Citar:
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:
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???????????
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?
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???
jsbsan escribió: [Ver mensaje]
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:
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...
Citar:
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...
Objetivo: Re: Como Funcionaria El Tanteador En Un Torneo En Red?
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
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:
última edición por v3ctor el Miercoles, 30 Abril 2014, 07:22; editado 1 vez
jsbsan escribió: [Ver mensaje]
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
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:
ú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?
última edición por jsbsan el Miercoles, 30 Abril 2014, 10:28; editado 1 vez
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:
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...
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:
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
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?
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
'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
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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 |
Página 1 de 2
No puede crear mensajesNo 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