none
Error Bei .NET Sockets RRS feed

  • Frage

  • Hallo
    ich bin gerade dabei ein Programm zu schreiben dass über tcp connectet
    Der Server funktioniert zur zeit doch wenn der client versucht etwas zu empfangen (senden funktioniert dann sendet der Server ein ok zurück) kommt ein error unswar das der andere pc abgebrochen hätte nun sieht der server code so aus
    If empfangen.StartsWith("online:") Then
                            Dim text() As String = empfangen.Split(" ")
                            Dim username As String = text(2)
                            Dim password As String = text(3)
                            Console.ForegroundColor = ConsoleColor.Red
                            Console.WriteLine("[" + Now + "]User Connectet: " + username)
                            'hier werden noch mehr infos ausgelesen
                            Dim login As Boolean = True
                            'hier kommt noch mehr zum auswerten
                            '.
                            '.
                            '.
                            If login = True Then
                            useronline += 1
                            send = "login succes" 'natürlich kommen später noch mehr infos zum account die gesendet werden
                            'verschlüsseln
                            send = Crypter.Crypt(send, "Password")
                            
    und der client so

    client_send("online: " & loginname&" "&password)
            Dim a As String = GetMessage
            If a = "login succes" then
            msgbox(a)    
            Else
            Exit Sub
            End If
    
    'mal die funktion getmessage
    Function GetMessage() As String
        dim message as string = read.ReadLine
        return crypter.entcrypt (message, Password)
    End Function
    
    ps bei server kommt problemlos an
    Dienstag, 3. November 2009 19:41

Antworten

Alle Antworten

  • Aus deinem Code ist nicht das logische Handshaking ersichtlich. Vermutlich ist da der Fehler. Nach dem Senden von OK wird vermutlich das Socket beendet.

    Auf meiner Homepage ist ein Beispiel für einen bilataralen Chat unter http://www.informtools.de/kb.aspx?id=318

    --
    Peter

    Mittwoch, 4. November 2009 20:33
  • deine erklärung ist bestimmt gut nur leider kenn ich mich noch nicht so gut in visual basic aus und es ist auch das erste mal für mich dass ich mit sokets aebeite, und daher weiss ich nicht was Handshaking ist auf deutsch heisst das handschütteln aber ich weiss nicht wie das funktioniert ich hab aööes einfach nach einer beschreibung im internet gemacht und mit dem code auf deiner seite komm ich irgendwie nicht zurecht wo wird empfangen?


    ps ich habe noch vergessen das beim srver das empfangen + if +anschlessenden senden in einer while schleffe steht
    Mittwoch, 4. November 2009 21:11
  • Mit handshaking ist das gegenseitige Zusammenspiel gemeint. In einem logischen Handshaking wird festgelegt, wer wie antwortet, d.h., wie der Datenverkehr fortgesetzt und beendet wird.

    --
    Peter
    Donnerstag, 5. November 2009 04:18