mikrocontroller.net

Forum: PC-Programmierung TCP-IP socket unter Windows 7


Autor: DEV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für den Austausch von Daten zwischen einem Windows Rechner und 
Mikrocontroller wird das Ethernet basierte Netzwerkprotokoll TCP-IP 
eingesetzt. Der Datenaustausch funktioniert soweit. Allerdings 
funktioniert die Verbindung nicht mehr, sobald auf dem Mikrocontroller 
>10Sekunden pausiert wird, dann scheint die Verbindung nicht mehr gültig 
zu sein. Gibt es eine Möglichkeit auf der Rechnerseite den Timeout zu 
erhöhen?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was auch immer da schiefgeht, es liegt an Deinem Programm.

Socketverbindungen sind unter Windows langzeitstabil, d.h. können auch 
stunden- oder monatelange Inaktivität überstehen.

Autor: DEV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Zeit >10 Sekunden wird im Mikrocontroller eine Berechnung 
durchgeführt. Danach soll der Mikrocontroller ein TCP-IP Packet an den 
Rechner senden (Bestätigung)

Autor: DEV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss ich gegebenenfalls irgendwelche Windows Registry Einträge 
vornahmen?

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DEV schrieb:
> In der Zeit >10 Sekunden wird im Mikrocontroller eine Berechnung
> durchgeführt. Danach soll der Mikrocontroller ein TCP-IP Packet an den
> Rechner senden (Bestätigung)

der µC muss schon wenigstens die Bestätigung des Pakets verschicken. 
(also auf TCP ebene und nicht auf Anwendungsebene). Wenn du das mit 
deiner Berechnung verhinderst ist das nichg gut.

Eventuell kannst du das verhalten ja anpassen.

Autor: Der Andere (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
DEV schrieb:
> für den Austausch von Daten zwischen einem Windows Rechner und
> Mikrocontroller wird das Ethernet basierte Netzwerkprotokoll TCP-IP
> eingesetzt.

Zum Glück gibt es nur einen µC und genau eine Ethernet Hardware mit 
exakt einer TCP/IP Protokoll-Stack Implementierung.

DEV schrieb:
> Gibt es eine Möglichkeit auf der Rechnerseite

Auf welcher? Die Kommunikation verläuft zwischen zwei Rechnern.

Mal ein paar Ansätze zur Selbssthilfe:
1. Welche Fehlermeldungen bekommst du denn auf der PC Seite?
2. Eventuell zeigt ein TCP Logger dir mehr dazu an
3. Allgemein würde ich den Fehler eher auf der µC Seite suchen, die 
TCP/IP Stacks auf Windows sind doch recht stabil.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DEV schrieb:
> Muss ich gegebenenfalls irgendwelche Windows Registry Einträge
> vornahmen?

Nein. Der Fehler liegt in Deinem Programm.

Autor: Der Andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> der µC muss schon wenigstens die Bestätigung des Pakets verschicken.

Das sollte der TCP/IP Stack doch eigentlich selbstständig handeln.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Andere schrieb:
> Das sollte der TCP/IP Stack doch eigentlich selbstständig handeln.

ja, aber auf einen µC kann man durch schlechte Programmierung leicht 
verhindern.

Autor: Frickelfritze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Andere schrieb:
> Zum Glück gibt es nur einen µC und genau eine Ethernet Hardware mit
> exakt einer TCP/IP Protokoll-Stack Implementierung.

Full Ack.

Da muss man wieder der Problemhaber die Popel einzeln aus
der Nase ziehen.

Autor: Der Andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch was: Es gibt ja auch nur eine Programmiersprache.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Andere schrieb:
> Noch was: Es gibt ja auch nur eine Programmiersprache.

was hier wiederum egal ist.

Autor: DEV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Verbindung bleibt weiterbestehen. Die Software auf der PC-Seite 
hatte noch einen Fehler.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
DEV schrieb:
> Die Software auf der PC-Seite hatte noch einen Fehler.

Ich hab's ja gesagt ...

Autor: Der Andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> was hier wiederum egal ist.

Nicht unbedingt, denn davon hängt unter Umständen auch der verwendete 
Protokoll-Stack ab.

Autor: Frickelfritze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Ich hab's ja gesagt ...

... der TO kam nur daher um sich genüsslich die Popel aus der
Nase ziehen zu lassen und dabei entspannt die Probleme zu lösen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.