Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: igustin10 en 18 Noviembre 2016, 23:19 pm



Título: CLIENTE Y SERVIDOR
Publicado por: igustin10 en 18 Noviembre 2016, 23:19 pm
Como andan? Espero que bien!

Tengo un problemita aca haciendo un cliente y servidor. Quiero que cada boton al apretar mande el valor del boton al casillero que le corresponde. Algo asi:

CLIENTE:1                              SERVIDOR
1                                           1) QUE CAMBIE DE 0 A 1 CUANDO TOCO EL BOTON 1
2                                           2) QUE CAMBIE DE 0 A 2 CUANDO TOCO EL BOTON 2
3                                           3) QUE CAMBIE DE 0 A 3 CUANDO TOCO EL BOTON 3

El problema es que todos van hacia el mismo lugar. Cuando toco el 1/2/3 van todos al 1):

Les dejo una fotito http://imgur.com/a/2dMbZ (http://imgur.com/a/2dMbZ)

Muchas gracias!


Título: Re: CLIENTE Y SERVIDOR
Publicado por: MCKSys Argentina en 19 Noviembre 2016, 00:23 am
Y el código? Colócalo pues no somos adivinos...  :P

Saludos!


Título: Re: CLIENTE Y SERVIDOR
Publicado por: igustin10 en 20 Noviembre 2016, 04:42 am
Cierto jaja! Me olvidaba de un pequeño detalla  :-\ :-\.

CODIGO DE CLIENTE:

Código:
Public Client As TcpClient
Public DataStream As StreamWriter

Public Sub Send(Data As String)
        DataStream.Write(Data & vbCrLf)
        DataStream.Flush()
End Sub

BOTON QUE MANDA AL SERVIDOR:

Código:
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        If Client.Client.Connected = True Then
            Client.Send("2")
        End If
End Sub

------------------------------------------------------------------------------------------------

CODIGO DE SERVIDOR: (CUANDO YA ESTA ESCUCHANDO)

Código:
Private Server As TCPControl

Public Event MessageReceived(sender As TCPControl, Data As String)


    ' COMUNICA CON EL FORM
    Private Delegate Sub UpdateTextDelegate(TB As TextBox, txt As String)
    ' ACTUALIZA EL TEXTO
    Private Sub UpdateText(TB As TextBox, txt As String)
        If TB.InvokeRequired Then
            TB.Invoke(New UpdateTextDelegate(AddressOf UpdateText), New Object() {TB, txt})
        Else
            TB.Text = txt
        End If
    End Sub

    ' ACTUALIZA TEXTO CUANDO RECIBE
    Private Sub OnLineReceived(sender As TCPControl, Data As String)
        UpdateText(txtChat, Data)
    End Sub

    Private Sub Listening()
        ' LOOP QUE ESCUCHA
        Do Until IsListening = False
            ' ACEPTA CONEXIONES
            If Server.Pending = True Then
                Client = Server.AcceptTcpClient
                ClientData = New StreamReader(Client.GetStream)

            End If

            ' CUANDO LLEGA UN MENSAGE
            Try
                RaiseEvent MessageReceived(Me, ClientData.ReadLine)
            Catch ex As Exception
            End Try
        Loop
    End Sub

CLIENTE:1                              SERVIDOR
1                                           1) QUE CAMBIE DE 0 A 1 CUANDO TOCO EL BOTON 1
2                                           2) QUE CAMBIE DE 0 A 2 CUANDO TOCO EL BOTON 2
3                                           3) QUE CAMBIE DE 0 A 3 CUANDO TOCO EL BOTON 3

Lo que tendria que hacer es que el cliente al apretar 1, el servidor reconozca que salio de ese boton y vaya a 1).
No puedo crear un identificador de texto porque el texto de 1 del cliente despues va a ir cambiando. Si no con 2 if lo solucionaria.

Muchas gracias MCKSys Argentina por preocuparte.