![]() |
#1
|
|||
|
|||
![]() Hallo,
Ich habe einen Synthesis SyncML Server. 2 Synthesis Clienten (Android, Windows Mobil) synchronisieren sich mit diesem. Die Synchronisation funktioniert an sich einwandfrei. HTC-Wildfire Android Version 2.2.1 Synthesis Client 1.9.5 HTC-HD2 Windows Mobile 6.5 Synthesis Client 3.0.2.22 Debian 5.0, Kernel 2.6.26 SyncML Server Linux Desktop ODBC STD Version 3.4.0.15 Wenn jedoch der Android-Client die Synchronisation beendet hat, bleibt die Verbindung offen. Der HD2 Client kann nun nicht mehr Synchronisieren, da der Server nur eine Verbindung zulässt. Ich habe 'netstat -anc | grep tcp' ausgeführt uns gesehen, dass Debian das Androidgerät nach dem Sync auf 'Verbunden' hält. (Ich habe bis zu 1 Stunde gewartet) bsp: 10.0.0.x:80 10.0.0.x:44409 Verbunden Trenne ich die WLAN-Verbindung, lässt sich netstat davon nicht beeindrucken und bleibt weiter auf 'Verbunden'. Nach einiger Zeit (jedoch auch nicht immer) fällt die Verbindung auf 'Close_Wait' und verändert sich nicht mehr. (HD2 ist aber immernoch blockiert) Das HD2 verbindet sich ebenfalls mit dem Server, dort kann die Verbindung aber immer geschlossen werden. Wenn es jedoch nach dem Android Synchronisiert, habe ich 2 verbindugnen zum Server. Ich habe die Konfiguration des SyncML-Server angepasst (ohne verhaltensänderung): <keepconnection>no</keepconnection> <sessiontimeout>30</sessiontimeout> sowie 'sysctl -w net.ipv4.tcp_keepalive_time=30' ausgeführt. Wenn ich den SyncML-Server beende fällt die Verbindung auf 'FIN_WAIT1'. Wenn ich den SyncML Server dann wieder starten will, bricht dieser mit der Fehlermeldung '[...]error selecting protocoll[...]port in use[...]' ab. Nun weiss ich nicht, wie ich weiter vorgehen soll. Gruss E'S |
#2
|
||||
|
||||
![]() Ich habe Moment keine Information, wie sich Verbindungen von Android nach Gebrauch hart schliessen lassen. Die Verbindung wir ganz normal als Http Post via HttpUrlConnection bzw. HttpsUrlConnection gemacht.
Irgendwelche Ideen sind herzlich willkommen. Gruss Beat Forster
__________________
Beat Forster, Synthesis AG |
#3
|
|||
|
|||
![]() Ich habe den Server nochmals aufgesetzt. (inkl. Betriebsystem)
Das Problem besteht weiterhin. Desweitern ist mir aufgefallen, wenn das Androidgeträt ausgeschaltet wird, so wird die Verbindung korrekt geschlossen und andere Clienten haben wieder zugriff. Nicht jedoch wenn ich nur WLAN deaktiviere, dann bleibt die Verbindung interssanterweise offen. (Das Gerät nach jedem Sync. neu zu starten ist allerdings nicht sehr praktisch.) Kann das Problem auch am integrierten http-Server des Sync-ML Servers liegen? Es kommt mir so vor, als würden bestimmte ACK und FIN Flags nicht gesendet/ankommen. Gruss Elia Last edited by E'S; 2011-02-23 at 10:22. |
#4
|
||||
|
||||
![]() Der xpt-Server hat eine sehr rudimentäre Http-Implementation.
Er ist auch primär für den Einsatz in Test- oder lokalen Umgebungen gedacht. Für den Einsatz in "freier Wildbahn" empfehlen wir eher den Server mit Anbindung an Apache oder IIS, dort wird das ganze http/https-Handling durch den Webserver abgewickelt. Gruss Beat Forster
__________________
Beat Forster, Synthesis AG |
#5
|
|||
|
|||
![]() Hallo bfo
Für eine Evaluation habe ich genau diese Version genommen, es wird also nur begrenzt in freier Wildbahn laufen. (Die Evaluation-Edition kann leider kein ODBC, ich muss es mit mysql-server Testen.) Das Ergebnis ist das selbe, wenn sich Client und Server im selben Netz befinden oder der Client über das Internet kommt. Können Sie das irgendwie nachstellen? Ich weiss nicht ob das Problem generell ist oder das Problem bei meiner Umgebung liegt. Gibt es keine xpt-Version die mehr als 1 Session zulässt? Ich teste derzeit mehre Clienten mit dem Synthesis Server. Jedoch schliessen auch einige Clienten anderer Hersteller die Verbindung nicht immer. Also ist jedesmal ein Neusstart des Servers erforderlich. evtl. off-topic: ------------- Ich habe Funambolclienten getestet (für Android, iPhone, Windows Mobile Phone, Blackberry, Outlook). Keiner von denen hat Funktioniert. Häufige Statuscode des SyServ: 101 Server is busy (licensed number of connection limit reached) - habe nur einen gleichzeit getestet. 401 Unauthorized (bad credentials) 407 Authentication required (no credentials found) Im SyServ konfig file: <requestedauth>,<requiredauth> basic und md5 getestet. Ich weiss, dass hier kein Support für Funambol geleistet wird. Ich wollte jedoch fragen ob das ein bekanntes Problem ist. Funambol funktionieren bekanntlich nur mit Funambol-Servern optimal. Die NextHaus Clienten für Outlook und iPhone haben das selbe Problem. Gruss E'S Ps. ich hoffe ich habe Sie nicht mit zuviel Infos zugepflastert. |
#6
|
||||
|
||||
![]() Nein der xpt-Server ist nur in der Lage, eine Session gleichzeitig zu synchronisieren. Sobald mehrere Devices im Spiel sind, würde ich in dieser Situation wirklich wärmstens die mod-Variante mit Apache empfehlen, weil dort das ganze Verbindungs-Handling über den defacto-Standard diesbezüglich abgehandelt wird. Und es sind potentiell auch mehrere Sessions gleichzeitig möglich (abhängig von der Lizenz).
Mit freundlichen Grüssen Beat Forster
__________________
Beat Forster, Synthesis AG |
![]() |
Thread Tools | |
Display Modes | |
|
|