Forum: Mikrocontroller und Digitale Elektronik Android TCP Problem


von Alex (Gast)


Lesenswert?

Hallo zusammen,

Ich habe ein Problem, vielleicht kann mir einer dabei helfen.
Ich habe ein Gerät, welches einen Wlan modul hat und einen AP eröffnet.
Die Datenübertragung findet über TCP statt.
Das Handy soll mit dem Gerät kommunizieren.
Es gibt im play Store ein Programm "tcp udp terminal".
Mit Eingabe der IP und des Ports kann man die Verbindung herstellen.
Mit den Handy meiner Frau funktioniert das relativ gut. Manchmal bleiben 
die Daten aber stocken und kommen dann leicht verzögert alle auf einmal.
Nicht schön, aber das funktioniert schon mal.
Problem ist nun, dass mein Handy (nexus 4 ist zwar nicht der neuste, 
aber soll genug Power haben um paar ASCII Zeichen zu empfangen) 
funktioniert quasi nicht.
Die Daten kommen nur Sporadisch, wenn überhaupt, der Socket wird oft von 
alleine geschlossen usw.
Mein Handy habe ich mit original factory recovery von google auf den 
Werkszustand gebracht.
Funktioniert trotzdem nicht.

Weiß jemand, woran das liegen kann? An der elektronik liegt das 100% 
nicht. Die daten kommen auf dem Laptop kontinuierlich ist sicher an.

Sorry, dass es so wenig Infos sind, aber mehr weiß ich erst mal selbst 
nicht.

Wäre über jede Hilfe sehr froh.

Danke
Gruß Alexander

von Peter II (Gast)


Lesenswert?

mal eine andere app testen?

suche einfach mal nach Telnet, da wird sich schon etwas finden lassen.

von Alex (Gast)


Lesenswert?

Sorry, habe vergessen zu schreiben.
Habe natürlich als Erstes andere Apps gestestet.
Sogar eine davon nicht kostenlose.
Alle machen das Gleiche :-(
Ich habe kein Problem damit, ein anderes Handy zu kaufen.
Problem ist, das sollen nachher auch andere können. Und ich kann nicht 
alles sagen, die sollen sich ein neues Handy kaufen.
Obwohl mein Test- handy gar nicht schlecht sein kann. Ist 2 Jahre alt 
und hat quadcore >2Ghz und 2 Gb RAM. Das muss für 5 ascii Zeichen jede 
Sekunde doch reichen.

von Peter II (Gast)


Lesenswert?

Alex schrieb:
> Sorry, habe vergessen zu schreiben.
> Habe natürlich als Erstes andere Apps gestestet.
> Sogar eine davon nicht kostenlose.
> Alle machen das Gleiche :-(

kann es denn mit eine Laptop? nicht das das Gerät nicht sauber arbeitet.

von Peter II (Gast)


Lesenswert?

Nachtrag:

einfach mal mit einer anderen Gegenstelle testen, wenn du Linux hast 
kann du mit nc mal schnell einen Server aufmachen.

von Alex (Gast)


Lesenswert?

Ja, habe ich im erstem Post geschrieben.
Laptop empfängt alles richtig und super.
auch über längere Zeit.

von ./. (Gast)


Lesenswert?

Bei meinem sorgte die Stromsparwut fuer stockende Zeichen in Verbindung
mit einem neuen Accesspoint. (Der alte machte da keine Probleme...)

Ein:

wl PM 0

als root schaffte da dann Abhilfe.
Konfigurieren laesst sich das natuerlich nicht.
Und "wl" ist auch nicht sonderlich portabel...

von ./. (Gast)


Lesenswert?

P.S.:

...
wl PM  set driver power management mode:
  0: CAM (constantly awake)
  1: PS  (power-save)
  2: FAST PS mode
...

von Alex (Gast)


Lesenswert?

An stromsparzeugs habe ich auch gedacht.
Das ist mit dem Sony meiner Frau so. Da hacken manchmal die zeichen.
Nein Telefon hat vermutlich das Problem mit gleichem Charakter, aber 
sehr viel schlimmer ausgeprägt.
Da kann man echt nichts machen? Also ohne Root natürlich.
Ich kann ebenso schlecht alle "Kunden" zum Root zwingen :-(

von Peter II (Gast)


Lesenswert?

Alex schrieb:
> Ich kann ebenso schlecht alle "Kunden" zum Root zwingen :-(

Ich selbst nutze auch auf einen Nexus7 öfters SSH Verbindungen, das geht 
ohne Probleme.
Kann mir nicht vorstellen, das es am Stromsparmodus liegt. Da würde es 
auch ständig Probleme beim Abrufen von Webseiten geben.

von Peter II (Gast)


Lesenswert?

Ich habe mal "ConnectBot" über WLAN mit Telnet auf Linux getestet, geht 
ohne Verzögerung.

von Stefan F. (Gast)


Lesenswert?

Falls möglich würde ich mal auf TCP statt UDP wechseln. Denn meine 
Anwendungen mit TCP laufen tadellos - selbst auf meinem billigen 100 
Euro Handy.

von ./. (Gast)


Lesenswert?

> Da kann man echt nichts machen?

Du koenntest die Zeichen versuchsweise immer bis zur MTU-Groesse mit 
0x00 "padden".

Also etwa so:
"string\n\0\0\0\0\0\0\0\0 .... \0\0\0"

Vielleicht hilfts.

von Peter II (Gast)


Lesenswert?

./. schrieb:
> Du koenntest die Zeichen versuchsweise immer bis zur MTU-Groesse mit
> 0x00 "padden".
>
> Also etwa so:
> "string\n\0\0\0\0\0\0\0\0 .... \0\0\0"
>
> Vielleicht hilfts.

das ist Unsinn, dafür kann man einfach den

http://de.wikipedia.org/wiki/Nagle-Algorithmus

abschalten.

von ./. (Gast)


Lesenswert?

> das ist Unsinn, dafür kann man einfach den

> http://de.wikipedia.org/wiki/Nagle-Algorithmus

> abschalten.

Das macht man jetzt bei Android ohne root genau wie?

Ausserdem taete es nicht das selbe...


Aber nichts fuer Ungut. Mein Dank.

von Peter II (Gast)


Lesenswert?

./. schrieb:
> Das macht man jetzt bei Android ohne root genau wie?

das macht man beim öffnen vom socket, dafür braucht man keine root 
rechte.
Es macht also die App und im besten Fall der Server.

von Peter II (Gast)


Lesenswert?

Stefan Us schrieb im Beitrag #4013824:
> Stimmt, aber Nagle hat nichts mit UDP zu tun.

bei UDP gibt es das Problem gar nicht, jedes packet wird gleich 
gesendet.

von Stefan F. (Gast)


Lesenswert?

Geht es denn nun um TCP oder UDP?

von Alex (Gast)


Lesenswert?

Es geht um das TCP Protokoll.

Habe mir nun aus Verzweiflung neues Handy gekauft. Den Sony Xperia Z3.
Damit funktioniert alles bestens.

Frage mich trotzdem, wie das Problem in Griff zu bekommen ist.
Ich kann doch nicht jedem, der mein "gerät" benutzen möchte, sagen, dass 
er ein neues (oder ein anderes) Handy braucht.

Beim alten Nexus habe ich diverse Custom-ROMs ausprobiert, auch 
originale Google Firmware...
Alles mit dem selben Ergebnis: die TCP Verbindung wird nicht gehalten.

Gruß Alex

von Peter II (Gast)


Lesenswert?

Alex schrieb:
> Beim alten Nexus habe ich diverse Custom-ROMs ausprobiert, auch
> originale Google Firmware...
> Alles mit dem selben Ergebnis: die TCP Verbindung wird nicht gehalten.

hast du mal mit einer anderen Gegenstelle getestet? Und mit der App 
ConnectBot?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.