Zum Inhalt springen

Empfangsdaten werden nicht richtig angezeigt (winsock)


Eleu

Empfohlene Beiträge

Hallo,

ein Host sendet einen SNMP- Trap zu einem fernen Rechner.

In dem Bild vom Netzwerksniffer im Anhang, ist der Datenteil des UDP-Pakets

von dem Rechner der es abgeschickt hat zu sehen.

Auf dem fernen Rechner läuft eine Visual Basic 6 Applikation, die den Trap empfängt und auch darstellen soll.

Mein Problem ist, dass sich die Empfangsdaten, die ich in der Applikation zuvor konvertiere und als HEX-Code anzeige, manchmal von den Hex-Werten die abgeschickt wurden unterscheiden.

Warum weiß ich nicht ?

Mit der Schaltfläche in der Applikation, kann ich es wieder in Ascii - Format zurückwandeln und in dem zweiten Textfeld anzeigen.

Wie man im zweiten Bild sieht, wird zum Teil dort nur murks angezeigt.

Aber eben nur zum Teil.

Kann man für das winsock-Control in VB 6 einen Empfangspuffer fixer Länge anlegen, den man bei Bedarf auch mal leeren kann ?

Woran kann das liegen ?

Die Applikation hat nachfolgenden Quellcode:


Dim strText As String

Dim Wert As String

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

Public Function StringToHex(strText As String) As String

  Dim intIndex As Integer

  On Error GoTo err_exit


  For intIndex = 1 To Len(strText)

    StringToHex = StringToHex & _

          Hex(Asc(Mid$(strText, intIndex, 1)))

  Next

  Exit Function


err_exit:

    StringToHex = ""

End Function

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

Public Function HexToString(ByVal Wert As String) As String

  On Error GoTo err_exit

  Dim intIndex As Integer


  For intIndex = 1 To Len(Wert) Step 2

    HexToString = _

        HexToString & Chr$(CLng("&H" & Mid$(Wert, intIndex, 2)))

  Next

  Exit Function


err_exit:

  HexToString = ""

End Function


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


Private Sub Command2_Click()

Wert = txtMessage.Text

Text1.SelText = HexToString(Wert)

End Sub


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


' Wenn Daten ankommen...

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)


  ' Die ankommenden Daten werden in einer Variable

  ' (strText) gespeichert...

  Winsock1.GetData strText 


  ' ... und in einer MutliLine-TextBox ausgegeben

  With txtMessage

    .SelStart = Len(.Text)

    .SelText = StringToHex(strText) 

  End With


  Wert = txtMessage.Text

End Sub

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

Private Sub Form_Load()

  Dim nPort As Integer

  Dim sOwnIP As String


  ' UDP-Protokoll einstellen

  Winsock1.Protocol = sckUDPProtocol


  ' Port, der überwacht werden soll

  nPort = 162


  ' Eigene IP ermitteln

  sOwnIP = Winsock1.LocalIP


  ' Port an die IP "binden"

  Winsock1.Bind nPort, sOwnIP

End Sub


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

Gruß

Eleu

SNMP.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich den Rechner, der den SNMP-Trap sendet, neu starte und der Rechner danach erneut einen Trap sendet, werden die Daten auf der Empfängerseite in der App. richtig angezeigt. :)

Nach ein paar mal senden, ist es dann wieder murks der angezeigt wird.:eek

Ich glaube, dass im Empfangspuffer irgendwann alles durcheinander gewürfelt wird.

Gibt es eine Möglichkeit, über ein Ereignis (Z.B. Schaltfläche) den Empfangspuffer der Winsock zu leeren ?

Vielleicht kann man damit das Problem lösen ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...