#1 [VB] Winsock con mas conexiones
Hola que tal
tengo una consulta
Estoy creando un programa cliente/servidor, y conecta todo sin problemas........
Pero cuando conecto y cierro el programa cliente, lo vuelvo a abrir, conecto, el cliente se cae, por que seguramente ya tiene tomada la conexion primera el servidor. No se de que manera decir en el servidor que cuando el cliente se salga, el servidor cierre la secion y se ponga en escucha nuevamente. Si lo hago de forma manual, apago la escucha, y pongo de nueva activa la escucha, el programa funciona, por lo que es ese el problema.
El codigo de mi programa servidor:
Private Sub Command1_Click()
Winsock1.LocalPort = "1820" ' puerto a esuchar
Winsock1.Listen 'comienza escucha
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Winsock1.Close
Command1.Enabled = True
Command2.Enabled = False
Label1.Caption = " "
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Winsock1.Close ' Al iniciar cierra conexiones abiertas
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
Label1.Caption = "El equipo remoto esta conectado"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos 'Recibe los datos y lo guarda
Label4.Caption = datos 'Muestra lo que recibe
Select Case datos ' Hacemos un Select C. a la variable
Case "pc1"
Shell "C:\wakeforlan\lanstartCMD.exe 00-19-D1-3B-XX-XX", vbMaximizedFocus
Case "pc2"
Shell "C:\wakeforlan\lanstartCMD.exe 00-0A-E6-C1-X-XX", vbMaximizedFocus
End Select
End Sub
En general es un programita que estoy haciendo aqui en la pega, para hacer wake for lan desde afuera.. ya que el router no lo permite
He tratado de hacerlo con un contador en winsock() pero no me resulta xD
si alguien me hecha una manito con el codigo se lo agradeceria
Gracias!
tengo una consulta
Estoy creando un programa cliente/servidor, y conecta todo sin problemas........
Pero cuando conecto y cierro el programa cliente, lo vuelvo a abrir, conecto, el cliente se cae, por que seguramente ya tiene tomada la conexion primera el servidor. No se de que manera decir en el servidor que cuando el cliente se salga, el servidor cierre la secion y se ponga en escucha nuevamente. Si lo hago de forma manual, apago la escucha, y pongo de nueva activa la escucha, el programa funciona, por lo que es ese el problema.
El codigo de mi programa servidor:
Private Sub Command1_Click()
Winsock1.LocalPort = "1820" ' puerto a esuchar
Winsock1.Listen 'comienza escucha
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Winsock1.Close
Command1.Enabled = True
Command2.Enabled = False
Label1.Caption = " "
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Winsock1.Close ' Al iniciar cierra conexiones abiertas
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
Label1.Caption = "El equipo remoto esta conectado"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos 'Recibe los datos y lo guarda
Label4.Caption = datos 'Muestra lo que recibe
Select Case datos ' Hacemos un Select C. a la variable
Case "pc1"
Shell "C:\wakeforlan\lanstartCMD.exe 00-19-D1-3B-XX-XX", vbMaximizedFocus
Case "pc2"
Shell "C:\wakeforlan\lanstartCMD.exe 00-0A-E6-C1-X-XX", vbMaximizedFocus
End Select
End Sub
En general es un programita que estoy haciendo aqui en la pega, para hacer wake for lan desde afuera.. ya que el router no lo permite
He tratado de hacerlo con un contador en winsock() pero no me resulta xD
si alguien me hecha una manito con el codigo se lo agradeceria
Gracias! 0