Hola a todos!
Hice una programación de socket TCP/IP para conectar varias centrales de alarmas(hosts) se conecten con un servidor y envien sus mensajes de alarmas.
Tengo una versión del programa servidor que usa un solo formulario y no tiene problemas pero debo aplicar una nueva interfaz grafica mas completa.
Tengo el formulario1, con un menù. Conexión->Fast Ethernet -> Conectar Servidor. Una vez se seleccione esta opcion, aparece otro formulario que solicita los parametros de conexión del servidor
cuando se haga click en conectar este formulario2 desaparece y se deben empezar a manejar las funciones de conexión del la clase del formulario1. Debe conectar el socket y mostrar en el TexArea de la parte inferior: "Servidor activo a la escucha de conexiones entrantes"
Esto es lo que hago en el formulario2 (ParametrosConexion):
PUBLIC f_bandera AS Boolean = FALSE
PUBLIC f_puerto AS Integer = 0
PUBLIC f_clientes AS Integer = 0
PUBLIC SUB Conectar_Click()
f_bandera = TRUE
f_puerto = TextNumPuerto.Text
f_clientes = ComboNumCliente.Index
ParametrosConexion.hide()
END
PUBLIC FUNCTION func_bandera() AS Boolean
RETURN f_bandera
END
PUBLIC FUNCTION func_puerto() AS Integer
RETURN f_puerto
END
PUBLIC FUNCTION func_clientes() AS Integer
RETURN f_clientes
END
Esto es lo que hago en el formulario1: Cuando se seleccionar la opcion conectar del menu, se abre el formulario2 y llamo a la clase ParametrosConexion.class (parametro) del formulario2 para saber si se ha conectado y obtenga el numero de puerto (parametro.func_puerto()) y el numero de clientes (parametro.func_clientes()) para enviarselos al procedimiento Socket_Listen().
PUBLIC parametro AS NEW ParametrosConexion
PUBLIC SUB Menu3_1_1_Click()
ParametrosConexion.Center
ParametrosConexion.Show()
IF parametro.func_bandera() = TRUE THEN
Socket_listen(parametro.func_puerto(), parametro.func_clientes())
ENDIF
END
PUBLIC SUB Socket_listen(n_puerto AS Integer, n_clientes AS Integer)
Server.Type = Net.Internet
Server.Port = n_puerto
Server.Listen(n_clientes)
IF Server.Status = Net.Active THEN
TextArea1.Text = "Servidor activo a la escucha de conexiones entrantes" & gb.NewLine
Menu3_1_1.Enabled = FALSE
Menu3_1_2.Enabled = TRUE
END IF
END
El problema es que no logro realizar ni mostrar las funciones del socket de la clase formulario1 a partir de los datos del formulario2.
Como debo conectarlo ambos formularios?. Le agradezco muchisimo su respuesta