Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

TSNE - UDP Pakete empfangen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 29.12.2014, 13:55    Titel: TSNE - UDP Pakete empfangen Antworten mit Zitat

Ich stehe momentan vor einem kleinen Problem:

Ich verschicke UDP Pakete mit der TSNE Bibliothek, was alles wunderbar funktioniert. Der Empfenger (ein anderer PC) reagiert ohne Probleme auf die Nachrichten. Der andere PC verschickt aber auch Nachrichten! Wie kann ich die nun mit TSNE auslesen bzw. auswerten und dann weiterverarbeiten?

Im Programm sind folgende Zeilen Code drin:

Code:
SUB SENDEN
   BV = TSNE_Data_Send(G_ClientTX, SendingString, , IP, 15731)
END SUB

SUB TSNE_NEWDATAUDP (BYVAL V_TSNEID AS UINTEGER, BYVAL V_IPA AS STRING, BYREF V_Data AS STRING)   'Empfänger für neue Daten (UDP)
   'Beim UDP-Modus wird nicht nur die empfangenen Daten, sondern auch die IP des senders übergeben.
   PRINT "[NDA]: >" & V_IPA & "<___>" & V_Data & "<"
END SUB


Als was kommen die Daten dann an? Ich stehe da momentan etwas auf dem Schlauch. Vielleicht habe ich, aber bisher keine Daten gesendet bekommen? Das kann ich leider schwer überprüfen, da das andere Programm nicht von mir geschrieben wurde!

Wäre nett, wenn mir jemand helfen kann!

MFG
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 29.12.2014, 14:46    Titel: Antworten mit Zitat

Im UDP Modus kommen alle Daten in der TSNE_NEWDATAUDP Routine an, solange das UDP Paket an den entsprechenden Rechner mit der entsprechenden IP und dem entsprechendem Port gesendet wird.

192.168.0.1: Empfänger auf Port 1234
192.168.0.2: Sendet an 192.168.0.1 mit Port 1234 -> Paket kommt an
192.168.0.2: Sendet an 192.168.0.1 mit Port 4321 -> Paket kommt NICHT an
192.168.0.2: Sendet an 192.168.0.2 mit Port 1234 -> Paket kommt NICHT an

Der Sender muss also die IP-Adresse des empfängers als auch den Port kennen, an den er das Paket senden soll. Sonst kommt auch nix an.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 29.12.2014, 15:33    Titel: Antworten mit Zitat

ThePuppetMaster hat Folgendes geschrieben:
Im UDP Modus kommen alle Daten in der TSNE_NEWDATAUDP Routine an, solange das UDP Paket an den entsprechenden Rechner mit der entsprechenden IP und dem entsprechendem Port gesendet wird.

192.168.0.1: Empfänger auf Port 1234
192.168.0.2: Sendet an 192.168.0.1 mit Port 1234 -> Paket kommt an
192.168.0.2: Sendet an 192.168.0.1 mit Port 4321 -> Paket kommt NICHT an
192.168.0.2: Sendet an 192.168.0.2 mit Port 1234 -> Paket kommt NICHT an

Der Sender muss also die IP-Adresse des empfängers als auch den Port kennen, an den er das Paket senden soll. Sonst kommt auch nix an.

MfG
TPM

Wie frage ich die ab? Wenn die in der "TSNE_NEWDATAUDP Routine" wirklich ankommen, dann müsste doch die "V_Data" dann Daten enthalten oder? Bei Abfragen ist die "V_Data" immer leer?

Mir bleibt wahrscheinlich nichts anderes übrig, als weiter zu testen, in der Hoffnung, dass es irgendwann einmal klappt!

Edit:
Kann bei dem anderen Gerät keinen Port eingeben! Nur eine IP-Adresse

Mfg
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 29.12.2014, 15:38    Titel: Antworten mit Zitat

Was heist abfragen ... diese Routine wird immer dann ausgelöst, wenn ein neues UDP Paket empfangen wird, auch wenn das Paket keine Daten enthält.

Das
Code:
PRINT "[NDA]: >" & V_IPA & "<___>" & V_Data & "<"

wird durchgeführt, sobald die Routine von TSNE aufgerufen wird.

Wenn du also eine solche Zeile im Log siehst, kam ein Paket an. Unabhängig vom Inhalt (V_Data)

Zu beachten ist hier allerdings, das die Konsole nicht alle zeichen wiedergeben kann (z.B. Steuerzeichen), wenn solche in V_Data enthalten sind.

Sollten Pakete ankommen aber V_Data "scheinbar" leer sein, kannst du das auch mit folgendem Code Visual Prüfen.

Code:

SUB TSNE_NEWDATAUDP (BYVAL V_TSNEID AS UINTEGER, BYVAL V_IPA AS STRING, BYREF V_Data AS STRING)   'Empfänger für neue Daten (UDP)
   PRINT "[NDA]: >" & V_IPA & "<___>" & Len(V_Data) & "<"
   Print "HEX: ";
   For X as Integer = 1 to Len(V_Data)
      Print Hex(V_Data[X - 1], 2) & " ";
   Next
   Print ""
END SUB


Diese "modifikation" zeigt dir dann jedes Empfangene Byte als HEX Wert an, und nicht mehr als Charakter, welche unter umständen vom Terminal Verschluckt werden. Z.B. Ein ESC (Chr 27) wird im Terminal ja nicht visuell angezeigt zwinkern

MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 29.12.2014, 18:28    Titel: Antworten mit Zitat

Da wird gar nichts angezeigt, obwohl Daten gesendet werden (müssten). verwundert
Zumindest steht das so in der Beschreibung drin, die ich habe. Die besagt nämlich, dass Daten mindestens 1x zu Beginn bei der Anbindung gesendet werden. Vielleicht doch irgendwo ein Fehler meinerseits bzw. etwas übersehen?

Selbst wenn ich den gesamten Quellcode poste, so hilft er euch nicht weiter. Man kann ihn nur mit dem entsprechenden "PC" vernünftig testen!

Der "PC" sendet bei/auf Port 15730 an eine IP-Adresse nach Wahl. Also das was der PC mit dem Freebasicprogramm letztendlich hat.

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RockTheSchock



Anmeldungsdatum: 04.04.2007
Beiträge: 138

BeitragVerfasst am: 30.12.2014, 15:49    Titel: Antworten mit Zitat

Evt. ein Firewall problem?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 31.12.2014, 03:54    Titel: Antworten mit Zitat

RockTheSchock hat Folgendes geschrieben:
Evt. ein Firewall problem?

So etwas in der Art war es gewesen! Zumindest konnte ich das Problem beheben. Man kann bei dem Gerät einstellen, wieviel gesendet und wohin gesendet wird. Andere Einstellung genommen und schon funktionierte es! Steht ja auch nirgends, welche Einstellung man für so einen Anwendungsfall nehmen muss!
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz