Te mejore un poko el codigo espero que te guste.
Servidor
2 Winsock
3 TextBox
2 label
3 timer
1 statubar
ahora te doy los nombres
Text1 = Text1
text2 = txty
text3 = txtx
winsock1 = winsock1
winsock2 = winsock2
timer1 = timer1 ------ interval:10 ---- enable False
timer2 = timer2 ------ interval:500 --- enable true
timer3 = Testado ------ interval:100 --- enable true
label1 = label1 ------ caption:Y ----Va arriba del txty
label2 = label2 ------ caption:X ----Va arriba del txtx
statubar = sb
Codigo:
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Sub Form_Load()
Text1.Text = Winsock1.LocalIP & ":" & Winsock1.LocalPort
End Sub
Private Sub Testado_Timer()
If Winsock1.State = 0 Then
sb.Panels(1).Text = "Winsock1 - Desconectado"
Timer2.Enabled = True
ElseIf Winsock1.State = 2 Then
sb.Panels(1).Text = "Winsock1 - Escuchando"
ElseIf Winsock1.State = 8 Then
sb.Panels(1).Text = "Winsock1 - Cerrandose"
Winsock1.Close
ElseIf Winsock1.State = 9 Then
sb.Panels(1).Text = "Winsock1 - Conectado con Error"
Winsock1.Close
ElseIf Winsock1.State = 1 Then
sb.Panels(1).Text = "Winsock1 - Abierto"
ElseIf Winsock1.State = 7 Then
sb.Panels(1).Text = "Winsock1 - Conectado"
Timer2.Enabled = False
End If
If Winsock2.State = 0 Then
sb.Panels(2).Text = "Winsock2 - Desconectado"
Timer2.Enabled = True
ElseIf Winsock2.State = 2 Then
sb.Panels(2).Text = "Winsock2 - Escuchando"
ElseIf Winsock2.State = 8 Then
sb.Panels(2).Text = "Winsock2 - Cerrandose"
Winsock2.Close
ElseIf Winsock2.State = 9 Then
sb.Panels(2).Text = "Winsock2 - Conectado con Error"
Winsock2.Close
ElseIf Winsock2.State = 1 Then
sb.Panels(2).Text = "Winsock2 - Abierto"
ElseIf Winsock2.State = 7 Then
sb.Panels(2).Text = "Winsock2 - Conectado"
Timer2.Enabled = False
End If
End Sub
Private Sub Timer1_Timer()
SetCursorPos txtx, txty
End Sub
Private Sub Timer2_Timer()
Winsock1.Close
Winsock1.Connect
Winsock2.Close
Winsock2.Connect
Timer2.Enabled = False
End Sub
Private Sub txty_Change()
If txty.Text = "" And txtx = "" Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
End If
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim llega As String
Winsock1.GetData llega
txty.Text = llega
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim llega2 As String
Winsock2.GetData llega2
txtx.Text = llega2
End Sub
Cliente
2 Winsock
3 TextBox
3 label
4 timer
1 statubar
4 Command
ahora te doy los nombres
Text1 = Text1
text2 = txty
text3 = txtx
winsock1 = winsock1
winsock2 = winsock2
timer1 = timer1 ------ interval:10 ---- enable true
timer2 = timer2 ------ interval:10 --- enable false
timer3 = timer3 ------ interval:10 --- enable false
timer3 = Testado ------ interval:100 --- enable true
label1 = label1 ------ caption:Y ----Va arriba del txty
label2 = label2 ------ caption:X ----Va arriba del txtx
label3 = label3 ------ caption:Desactivado ----Va donde quieras
statubar = sb
Command1 = Command1 ------ Caption: Conectado
Command2 = Command2 ------ Caption: Desconectar
Command3 = Command3 ------ Caption: Activar
Command4 = Command4 ------ Caption: Desactivar
Codigo:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Sub Command1_Click()
On Error Resume Next
Winsock1.Listen
Winsock2.Listen
End Sub
Private Sub Command2_Click()
Winsock1.Close
Winsock2.Close
End Sub
Private Sub enviox(TXT As String)
On Error Resume Next
Winsock2.SendData TXT
End Sub
Private Sub envioy(TXT As String)
On Error Resume Next
Winsock1.SendData TXT
End Sub
Private Sub Command3_Click()
Label3.Caption = "Activado"
Timer3.Enabled = True
Timer2.Enabled = True
End Sub
Private Sub Command4_Click()
Timer2.Enabled = False
Timer3.Enabled = False
Label3.Caption = "Desactivado"
End Sub
Private Sub Testado_Timer()
If Winsock1.State = 0 Then
sb.Panels(1).Text = "Winsock1 - Desconectado"
ElseIf Winsock1.State = 2 Then
sb.Panels(1).Text = "Winsock1 - Escuchando"
ElseIf Winsock1.State = 8 Then
sb.Panels(1).Text = "Winsock1 - Cerrandose"
Winsock1.Close
ElseIf Winsock1.State = 9 Then
sb.Panels(1).Text = "Winsock1 - Conectado con Error"
Winsock1.Close
ElseIf Winsock1.State = 1 Then
sb.Panels(1).Text = "Winsock1 - Abierto"
ElseIf Winsock1.State = 7 Then
sb.Panels(1).Text = "Winsock1 - Conectado"
End If
If Winsock2.State = 0 Then
sb.Panels(2).Text = "Winsock2 - Desconectado"
ElseIf Winsock2.State = 2 Then
sb.Panels(2).Text = "Winsock2 - Escuchando"
ElseIf Winsock2.State = 8 Then
sb.Panels(2).Text = "Winsock2 - Cerrandose"
Winsock2.Close
ElseIf Winsock1.State = 9 Then
sb.Panels(2).Text = "Winsock2 - Conectado con Error"
Winsock2.Close
ElseIf Winsock2.State = 1 Then
sb.Panels(2).Text = "Winsock2 - Abierto"
ElseIf Winsock1.State = 7 Then
sb.Panels(2).Text = "Winsock2 - Conectado"
End If
End Sub
Private Sub Timer1_Timer()
Dim Posicion As POINTAPI
GetCursorPos Posicion
txtx.Text = Posicion.X
txty.Text = Posicion.Y
End Sub
Private Sub Timer2_Timer()
envioy txty.Text
End Sub
Private Sub Timer3_Timer()
enviox txtx.Text
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub
Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
Winsock2.Close
Winsock2.Accept requestID
End Sub
bueno termine
Cualquier duda postea o able en pribado.
Saludos KakiNets.