Matchport response

Gast #5147879
Lesenswert?

Hallo allerseits!

Ich bin dabei ein älteres Projekt zu modernisieren und möchte dazu Daten 
von meinem PC via Ethernet(HTTP Requests) an dem Matchport und dann 
seriell an einen Microcontroller(STM32) und vice versa senden.

Zum Problem:

Der Matchport empfängt den POST Request vom PC und leitet ihm auch 
seriell weiter jedoch ist es mir nicht gelungen auf den Request zu 
antworten.

Testaufbau:

PC1 <Ethernet> Matchport <Seriell> PC2(Terminal)


Nachdem der Request abgesetzt wurde wartet PC1 auf die Response doch 
sobald ich vom Terminal etwas zurückschicken möchte wird die Verbindung 
abgebrochen.

Gibt es da einen Header der mitgeschickt gehört?

Danke im Vorraus!
Gast #5151612
Lesenswert?

Michse schrieb:
> Gibt es da einen Header der mitgeschickt gehört?

Den HTTP Response Header vielleicht? Also der Status sollte wenigsten am 
PC ankommen: "HTTP/1.1 200 OK"
Optional weitere Headerzeilen. Nach einer Leerzeile folgt dann der 
eigentliche Inhalt.

Was siehst Du denn von dem POST Request auf der seriellen Schnittstelle? 
Wenn der Anfang etwa so aussieht: "POST /xxx HTTP/1.1", dann mußt Du das 
HTTP-Protokoll wohl selber implementieren.
https://tools.ietf.org/html/rfc7230 ff.

Im Zweifelsfall nimm Wireshark o.ä. und schau Dir an was da tatsächlich 
hin- und hergeht.
Gast #5151674
Lesenswert?

Ich bin derzeit nicht daheim und hab keinen zugriff auf den genauen 
Wortlaut der ankommenden Message, aber sie sieht so aus wie du es 
beschreibst => POST /xxx HTTP/1.1 xxx bis zu dem Text den ich 
mitgesendet habe(Fürs senden verwende ich Postman). Zurück kommt aber 
nichts(Wireshark) und Postman "wartet" auf eine Antwort die niemals 
kommt.
Gast #5151784
Lesenswert?

Als minimale Antwort sollte dann sowas reichen
1
HTTP/1.1 200 OK<CR><LF>
2
Connection: close<CR><LF>
3
<CR><LF>
4
Hello World
Du must bei Deinem Testaufbau also gegebenenfalls drauf achten, daß dein 
Terminal am seriellen Port CRLF als Zeilenende vervendet.
Irgenwie müßtest Du danach auch noch die TCP-Verbindung trennen.

Schöner wärs natürlich da noch ein paar weitere Header mitzusenden (z.B. 
"Content-Length", "Content-Type").
Gast #5152816
Lesenswert?

Danke für den Hinweis mit dem CRLF, jetzt kommt etwas vom Matchport zum 
PC(Mit Wireshark erfasst).

Beim Request kommt im Terminal folgendes an:

POST / HTTP/1.1
cache-control: no-cache
Postman-Token: xxx
Content-Type: text/plain
User-Agent: PostmenRuntime/6.3.2
Accept: */*
Host: xxx
accept-encoding: gzip, deflate
content-length: 15
Connection: keep-alive

Hello World


Die Verbindung ist offen und ich kann Daten versenden :) nur wie 
schließe ich die Verbindung wieder?
Gast #5155205
Lesenswert?

Michse schrieb:
> Die Verbindung ist offen und ich kann Daten versenden :) nur wie
> schließe ich die Verbindung wieder?

Must Du mal in die Doku zum Matchport schauen.
Wenn Du den Modemmode benutzt eventuell mit "+++ATH<CR><LF>" o.ä. 
Irgendwo stand auch was von <EOT> (0x04) und ein Timeout ließe sich wohl 
ebenfalls konfigurieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren