 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
pb
Anmeldungsdatum: 11.08.2020 Beiträge: 8
|
Verfasst am: 11.08.2020, 12:22 Titel: UDP-Server Frage |
|
|
Hallo alle zusammen - ich suche nach einem einfachen UDP-Server für die Übermittlung von Hausinternen Messdaten von meinem Raspberry Pi zu meinem Windows-PC über das Netzwerk. Auf meinem Pi läuft UDP schon und ich kann die Daten mit meinem hercules Terminal per UDP empfangen. Ich möchte die Daten aber verarbeiten (Durchschnit berechnen etc.) und brauche dazu ein etwas komfortableres Frontend das ich mit FreeBasic erstellen möchte. Ich bin nun auf den untenstehenden Beispielcode gestossen. Leider ergibt sich bei der Kompilierung folgender Fehler:
Zitat: | C:\Program Files (x86)\FreeBASIC\FBIDETEMP.bas(20) error 41: Variable not declared, TSNE_NewConnection in 'RV = TSNE_Create_Server(G_Server_TSNEID, 80, 100, @TSNE_NewConnection, 0)' |
Ich bin kein Basic Anfänger - habe aber bisher noch nie mit Netzwerkprogrammierung zu tun gehabt - das ist Neuland für mich! Wo trage ich bei dem Beispiel die IP-Adresse und den Port des Servers ein? Welches Tutorial muss ich mir anschauen um die Befehle und die Syntax zu verstehen?
Code: | #Include once "TSNE_V3.bi"
Dim G_Server_TSNEID as UInteger
Dim RV as Integer
Sub TSNE_Disconnected(ByVal V_TSNEID as UInteger)
Print "[Disconnected] TSNEID: "; V_TSNEID
End Sub
Sub TSNE_Connected(ByVal V_TSNEID as UInteger)
Print "[Connected] TSNEID: "; V_TSNEID
End Sub
Sub TSNE_NewData(ByVal V_TSNEID as UInteger, ByRef V_Data as String)
Print "[NewData] TSNEID: "; V_TSNEID; " Datenlänge: "; Len(V_Data)
End Sub
RV = TSNE_Create_Server(G_Server_TSNEID, 80, 100, @TSNE_NewConnection, 0)
If RV <> TSNE_Const_NoError Then
Print "[FEHLER] " & TSNE_GetGURUCode(RV)
End -1
End If
Do Until InKey() = Chr(27)
Sleep 1, 1
Loop
TSNE_Disconnect(G_Server_TSNEID)
TSNE_WaitClose(G_Server_TSNEID)
End 0 |
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 11.08.2020, 13:29 Titel: Re: UDP-Server Frage |
|
|
pb hat Folgendes geschrieben: | Welches Tutorial muss ich mir anschauen um die Befehle und die Syntax zu verstehen? |
Das ist tatsächlich eine gute Frage.
Ich habe mich leider schon sehr lange nicht mehr mit TSNE beschäftigt (und war auch vorher nicht extrem erfolgreich, was aber vorwiegend an Multithreating-Problemen lag), habe aber vor einiger Zeit verschiedenes zusammengeschrieben, wo auch zu TSNE etwas dabei ist. Vielleicht hilft dir das weiter.
http://users.freebasic-portal.de/nemored/buch2D/basicbuch2D.pdf, Kapitel 15.2 _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 21.08.2020, 08:30 Titel: |
|
|
Hi @pb
bezüglich eines Tutorials zu TSNE findest du hier ein passendes:
https://www.freebasic-portal.de/tutorials/netzwerkprogrammierung-tsne-v3-60.html
Es beschreibt, wie TSNE grundsätzlich funktioniert und wie man damit umgeht.
UDP Seitig ist es im großen und ganzen ähnlich. Der einzigste unterschied zu TCP ist der aufbau und das beenden der Verbindung. Bei UDP gibt es keinen Auf udn Abbau. Nach dem erstellen ist es faktisch sofort bereit zum senden und empfangen.
Bitte beachte unbedingt die tatsache, das UDP Kommunikation keine sichere kommunikation ist, was Datenverlust betrifft. Es kann also sehr leicht passieren das die Nachrichten bzw. Gesendete Datenpakete verloren gehen! Wird zwar im Lokalem Netz (LAN) wohl nicht auftreten, kann aber dann entstehen, wenn so viel traffik im LAN herscht, das der Switch-Zwischenspeicher voll läuft. Dann kann der Switch auch pakete ignorieren, welche dadurch nicht mehr ausgeliefert werden. Der Sendende Computer merkt das nicht, und sendet dadurch das Paket nicht noch einmal. Bei TCP würde der Sendende Computer eine Antwort vom Empfänger erhalten, und wenn diese nach 60 nicht eintreffen würde, dann würde der sendende Computer erneut das paket senden.
Auf der Projektseite von TSNE findest du eine ganze Reihe von Beispielen (ganz unten) ...
https://www.freebasic-portal.de/projekte/tsne-11.html
... und die Beschreibung der API-Schnittstelle von TSNE.
https://www.freebasic-portal.de/porticula/apidoku-txt-1368.html
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
pb
Anmeldungsdatum: 11.08.2020 Beiträge: 8
|
Verfasst am: 21.08.2020, 12:22 Titel: |
|
|
Danke ThePuppetMaster - das ist hier wirklich ein tolles Forum mit freundlichen und hilfsbereiten Usern!!! |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|