AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen
Thema durchsuchen
Ansicht
Themen-Optionen

Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

Ein Thema von Trusti75 · begonnen am 22. Apr 2010 · letzter Beitrag vom 23. Apr 2010
Antwort Antwort
Trusti75

Registriert seit: 17. Dez 2006
7 Beiträge
 
#1

Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

  Alt 22. Apr 2010, 17:04
Hallo,

ich hab folgendes Problem: Ich muß ein wenig ausholen um es richtig zu beschreiben.
Ich habe ein GPRS-Gerät, was Daten offline einsammelt. Zu einem bestimmten Zeitpunkt (kann unterschiedlich sein) baut das Gerät eine Verbindung auf und sendet die Daten über einen Proxiserver zu mir. Ich sehe nur die Proxi-IP, die immer verfügbar ist. Wenn Daten kommen, dann werden diese über einen festgelegten Port gesendet. Zu Testzwecken hab ich das freie Tool "NETCAT" verwendet, welches TCP-Verbindungen aufnehmen kann und dieses auf meinem Rechner so gestartet, dass es den festgelegten Port(10999) abhört (Befehl: NC -p 10999). Sendet die Station die Daten, dann empfängt NETCAT diese wunderbar. Ich hab das ganze auch mit Wireshark verfolgt. Zu Beginn der Sendung kommt vom Proxy ein Sync-Telegramm, was wahrscheinlich dazu dient festzustellen, ob eine Gegenstelle verfügbar ist, welche die Daten auch abnimmt. Das wird von NETCAT quitiert und danach laufen die Daten in Textform ein.
Ziel ist aber, dass Ganze in Delphi (Delphi 2009) umzusetzen, damit ein Prozess, welcher ständig läuft Täglich die Daten übernimmt und speichert.
OK, dachte ich mir. Nimmst einen TCPserver und lässt ihn auf dem festgelegten Port hochen, bis was kommt. Ich einen einfachen TCPServer aufgesetzt(ähnlich Chat-Programm), der die Daten holen soll. Nach dem Start der Transmission vom GPRS-Modul sehe ich im Wireshark, dass das SYC-Signal ankommt , aber nicht beantwortet wird. Es wird so 5 mal probiert und danach bricht die Transmission ab, ohne dass Daten bei mir ankommen. Ok dachte ich wieder, starte ich zusätzlich zum TCPserver(delphi) noch die NETCAT und probiere es nochmal. Und danach liefen die Daten ein, sowohl im NETCAT, wie auch über meinen TCPserver.
Jetzt meine Frage: Was ist an meinem Ansatz falsch, oder wie kann ich den TCPserver dazu bringen, auf das SYNC-Telegramm zu antworten. Dieses Telegramm wird vom TCPserver scheinbar gar nicht wahrgenommen, sondern nur die nachfolgenden Nutzdaten. Jetzt bin ich ratlos und hab auch nix bei google gefunden, was mir weiterhilft.
Ich hoffe, es kann mir jemand bei der Lösung des Problems helfen oder einen Tipp geben.

Grüsse
Michi
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

  Alt 22. Apr 2010, 17:29
Das SYNC-Telegramm ist Bestandteil des TCP-Handshake beim Verbindungsaufbau.
Der Client sendet SYNC, der Server antwortet mit SYN-ACK was der Client wiederum mit ACK bestätigt.
All das wird automatisch vom TCP/IP Stack behandelt.

Du solltest zunächst deinen Server testen.
In der Eingabeaufforderung gibt du ein:
Code:
C:\> telnet localhost 10999
Wenn alles in Ordnung ist, wird eine Verbindung aufgebaut.
Da weder der Server noch der Client die Verbindung freiwillig beendet musst du das Fenster "gewaltsam" schliesen.
Dann das Gleiche von einem anderen Rechner im Netzwerk wiederholen:
Code:
C:\> telnet DeinRechnerName 10999
Sollte es hierbei Probleme geben, dann wäre Folgendes zu prüfen:
* steht die Listen-IP-Adresse des TCPServers auf 0.0.0.0 ?
* ist ein Virenscanner aktiv? Falls ja, kurzzeitig deaktivieren
* läuft auf deinem Rechner eine Personal Firewall? Falls ja, Port 10999 für ankommende Verbindungen öffnen
Andreas
  Mit Zitat antworten Zitat
Trusti75

Registriert seit: 17. Dez 2006
7 Beiträge
 
#3

Re: Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

  Alt 22. Apr 2010, 18:58
ok, Danke erstmal für die Antwort. ich werde es testen und Bescheid geben. Aber nochmal was zum Firewall und Virenscanner. Der NETCAT hat ja die Verbindung auf dem selben PC hergestellt, wo auch der Delphi-TCPserver läuft. Also dürfte es ja keine Probleme mit den beiden Dingen geben, oder?
Grüsse
Michi
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

  Alt 23. Apr 2010, 11:26
Zitat von Trusti75:
Aber nochmal was zum Firewall und Virenscanner. Der NETCAT hat ja die Verbindung auf dem selben PC hergestellt, wo auch der Delphi-TCPserver läuft. Also dürfte es ja keine Probleme mit den beiden Dingen geben, oder?
Im Prinzip richtig, aber vielleicht "kennt" der Virenscanner die NETCAT Anwendung oder NETCAT ist schon durch frühere Versuche der Firewall bekannt...
Andreas
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#5

Re: Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

  Alt 23. Apr 2010, 15:09
Zitat von Trusti75:
Der NETCAT hat ja die Verbindung auf dem selben PC hergestellt, wo auch der Delphi-TCPserver läuft. Also dürfte es ja keine Probleme mit den beiden Dingen geben, oder?
Hallo Trusti75, wenn ich alles richtig verstehe, horcht Netcat und der Delphi Server auf denselben Port.

Dies ist bei einem Binding auf einen Adapter nicht möglich.

D.h. zwei Server mit gleichem Port am selben System und Adapter ist ohne "tiefster Socket API" nicht möglich!

Ein "nackter Delphi Server" sollten genauso wie NETCAT funktionieren.

Zeig mal etwas Source?

lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
Duck-of-Devastation

Registriert seit: 31. Mär 2010
11 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Aus GPRS-Gerät Textdaten mittels TCP-Komponen empfangen

  Alt 23. Apr 2010, 15:22
Zitat von Trusti75:
Und danach liefen die Daten ein, sowohl im NETCAT, wie auch über meinen TCPserver.
Hallihallo!

Noch mal für mich zum Verständnis... Du siehst dann GLEICHZEITIG an beiden Programmen, daß die GLEICHEN Daten eintreffen?
Und dann hätte ich noch eine weitere Frage: Gibt es auf dem Weg zwischen Proxyserver und deinem PC einen (NAT-) Router?

Gruß

Sven
Sven
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz