Avatar billede marvind Nybegynder
14. marts 2008 - 10:26 Der er 4 kommentarer og
1 løsning

commando OG data med socket?

hej eksperter.
jeg er ved at lave et "remote control" program,
jeg kan godt få forbindelse mellem 2 pc'er og sende tekststrenge mellem dem, men jeg vil gerne kunne sende "kommandoer" dvs sende commandoen og eventuelle parametre, er der nogen der kan hjælpe?

jeg bruger følgene kode:

"styre program"
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Winsock1.Connect()
        Winsock1.Send("LOL!")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Winsock1.Listen()
    End Sub

    Private Sub Winsock1_Connected(ByVal sender As Winsock_Control.Winsock) Handles Winsock1.Connected
        MsgBox("OMG CONNECTION")
    End Sub

    Private Sub Winsock1_DataArrival(ByVal sender As Winsock_Control.Winsock, ByVal BytesTotal As Integer) Handles Winsock1.DataArrival
        Dim s As String
        Winsock1.GetData(s)
        MsgBox(s)
    End Sub

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Winsock1.Send(TextBox1.Text)
    End Sub
End Class



"modtagende program"
Private Sub winsock1_ConnectionRequest(ByVal sender As Winsock_Control.Winsock, ByVal requestID As System.Net.Sockets.Socket) Handles winsock1.ConnectionRequest
        winsock1.Accept(requestID)
        commandsock.Accept(requestID)
    End Sub

    Private Sub winsock1_Connected(ByVal sender As Winsock_Control.Winsock) Handles commandsock.Connected
        MsgBox("OMG IM CONNECTED TOO!")
    End Sub

    Private Sub commandsock_DataArrival(ByVal sender As Winsock_Control.Winsock, ByVal BytesTotal As Integer) Handles commandsock.DataArrival
        Dim s As String
        commandsock.GetData(s)
        execute(s)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        commandsock.Send("winmx32test")
    End Sub

    Public Sub execute(ByVal command)
        Select Case command
            Case "msg"
                MsgBox("lolololololol")
            Case "kagemand"
                MsgBox("kagemand er godt")
            Case "jonas"
                MsgBox("LUGTER!")
            Case Else
                MsgBox("bahh")
        End Select

    End Sub
End Class

jeg kan sende kommando er som msg, kagemand og jonas. men hvordan ken jeg sende F.eks kommandoen "jonas" med parametret "random crap"
Avatar billede arne_v Ekspert
15. marts 2008 - 01:42 #1
Der ser ud som at du sender tekst linier.

Kan du ikke bare sende:

"jonas random crap"

og så i modtager delen splitte den modtagne streng på mellemrum ?
Avatar billede marvind Nybegynder
15. marts 2008 - 11:11 #2
det havde jeg slet ikke tænkt på, det lyder som en god ide! :D
kan du forklare hvordan jeg får programmet til at splitte strengen?
Avatar billede arne_v Ekspert
15. marts 2008 - 15:19 #3
string s = "jonas random crap";
string[] parts = s.Split(' ');
Avatar billede marvind Nybegynder
20. marts 2008 - 20:52 #4
smider du et svar?
Avatar billede arne_v Ekspert
20. marts 2008 - 20:58 #5
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester