Daten über UDP empfangen

03/09/2008 - 11:43 von madCAD | Report spam
Hallo,
ich benötige ein Formular oder àhnliches, um Daten, die per UDP von einem
externen Geràt geschickt werden, zu empfangen ... so was àhnliches wie einen
Sniffer eben.
Dazu habe ich mir ein Formular gemacht, das Steuerelement "Winsock
component" in diesem Formular platziert (Name Winsock1) und ebenso ein
Multiline Textfeld (Name txtMessage)

Dazu dann folgenden Code für das Formular:

Option Explicit

Private Sub UserForm_Activate()

Dim nPort As Integer
Dim sOwnIP As String

' UDP-Protokoll einstellen
Winsock1.Protocol = sckUDPProtocol

' Port, der überwacht werden soll
nPort = 2010

' Eigene IP ermitteln
sOwnIP = Winsock1.LocalIP

' Port an die IP "binden"
Winsock1.Bind nPort, sOwnIP

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim sData As String

' Die ankommenden Daten werden in einer Variable
' (sDaten) gespeichert...
Winsock1.GetData sData
Debug.Print sData
' ... und in einer MutliLine-TextBox namens txtMessage ausgegeben
With txtMessage
.SelStart = Len(.Text)
.SelText = sData
End With
End Sub

Ich möchte also auf Port 2010 lauschen, ob da was kommt, nur leider stürzt
mir Excel ab, sobald ich das Formular aktiviere?

Habe ich irgendwas falsch verstanden? Für jede Art von Hilfe wàre ich mehr
als dankbar.

Gruß,

Mathias
 

Lesen sie die antworten

#1 Reiner Wolff
06/09/2008 - 09:55 | Warnen spam
Moin Mathias,

*madCAD* schrieb:
ich benötige ein Formular oder àhnliches, um Daten, die per UDP von einem
externen Geràt geschickt werden, zu empfangen ... so was àhnliches wie einen
Sniffer eben.



Dasja mal keine typische Verwendung von Excel ;-)

Dazu habe ich mir ein Formular gemacht, das Steuerelement "Winsock
component" in diesem Formular platziert (Name Winsock1) und ebenso ein
Multiline Textfeld (Name txtMessage)


[Code gesnippt]
Ich möchte also auf Port 2010 lauschen, ob da was kommt, nur leider stürzt
mir Excel ab, sobald ich das Formular aktiviere?



In welcher Zeile stürzt Excel denn ab?

Habe ich irgendwas falsch verstanden? Für jede Art von Hilfe wàre ich mehr
als dankbar.



Auch wenn Du dafür Excel-VBA nutzen möchtest, wàre Deine Frage vermutlich
in der VB-Newsgroup passender.
Wenn Du die Möglichkeit hast, würde ich Dir auch empfehlen das in VB zu
realisieren, da VBA hier evtl. nur eingeschrànkt funktioniert.

Wenn Du kein VB zur Hand hast, hilft Dir vielleicht das aktuelle
VisualStudio weiter. Microsoft bietet das in der kleinsten Ausbaustufe
kostenlos an. Denn derartige systemnahe Dinge, kannst Du mit .Net
sicherlich sehr schön abfragen.

Mehr fàllt mir leider auch nicht dazu ein, da ich selbst mit dem
Winsock-Objekt noch nie aktiv programmiert habe.

Gruß aus Kiel
Reiner
Smash forehead on keyboard to continue . . .

Ähnliche fragen