czwartek, września 22, 2011

Robimy z telefonu/tabletu z Androidem serwer WebDAV ;-)

W Androidzie brakuje mi od początku łatwego podpinania do komputera....
Jest kabel USB, ale trzeba się bawić z kablami, trzeba odpinać kartę SD/storage od urządzenia gdy jest podłączone kablem by udostępnić tą kartę/storage komputerowi (co jest niefajne np. ze względu na mobilne Google+ i Instant Upload, który głupieje w takim momencie).

Najpierw mi po głowie chodziło zrobienie serwera WWW dla Androida, który by serwował pliki. Zrobiłem takowy, ale nie miał opcji wrzucania plików, ale nawet dodanie jej by wiele nie pomogło z racji tego, że trudno byłoby wrzucać np. kilka katalogów naraz.

No to do głowy przyszedł mi serwer WebDAV :-) który można podpiąć z Total Commandera (z Windowsa samego też, ale akurat tu mam problem o którym dalej).

Prosty serwer WebDAV to nie jest znów żadna filozofia do napisania, mój składa się z 2 plików, które zawierają 6 klas [z czego aż 3 to anonimowe :-)] i nie licząc automatycznie wygenerowanego kodu liczy sobie koło 450 linii.
Potrafi obsłużyć komendy: OPTIONS, PROPFIND, PUT, DELETE, MKCOL i GET co pozwala na operacje takie jak listowanie katalogów, wrzucanie plików, kasowanie plików, tworzenie katalogów i pobieranie zawartości plików. Żeby było łatwiej wszystkie metody olewają nagłówki w stylu Depth (który to oznacza jak głęboko powinna być wykonana komenda w stylu DELETE).
To jednak wystarcza do tego by Total Commander potrafił korzystać z takiego serwera :-)

Niestety Windows nie jest w stanie zmapować takiego WebDAVowego zasobu jako dysku i do końca nie wiem dlaczego.

Ciekawą sprawą są transfery. Wrzucanie plików lub pobieranie ich z mojego tabletu EEE Pad Transformer to transfer zwykle w okolicach 1.1-1.2 MB/s, w przypadku G1 to 700-800 KB/s, w przypadku Nexus S (uwaga! :-)) 8-80 KB/s z czego często jest to te 8 KB/s :-)

Jakby ktoś był zainteresowany to mogę zrobić wersję ciut bardziej "dla normalnych ludzi".
Bo mnie np. nie przeszkadza, że adres urządzeń jest wypisywany od tyłu i wygląda np. tak:
102
1
168
192
:-)
Więc jak ktoś zainteresowany to można to zgłaszać w komentarzach tu lub na G+ :-)


Podobne postybeta
Coś jest nie tak z komputerami
PROPFIND, czyli jak przechytrzyć HttpURLConnection
EEE Storage :-)
Moto zakład
U mnie Linux vs Windows ma teraz wynik 5 do 4, a było 6 do 3 ;-)