Avatar billede tommer Nybegynder
26. oktober 2002 - 00:50 Der er 8 kommentarer og
2 løsninger

filstruktur gennem socket?

jeg har en socketforbindelse, client/server, hvor jeg har brug for at sende serverens filstruktur til klienten hvor jeg vil vise den.
har nogen en go ide' ??
Avatar billede bearhugx Nybegynder
26. oktober 2002 - 00:56 #1
Hele serverens fil-hieraki ???
Avatar billede tommer Nybegynder
26. oktober 2002 - 01:09 #2
ja eller bestemte partitioner..
Avatar billede erikjacobsen Ekspert
26. oktober 2002 - 01:54 #3
Kode den i XML ?
Avatar billede arne_v Ekspert
26. oktober 2002 - 09:05 #4
Du vedtager et format.
Du koder server til at sende i det format og
vlient til at modtage i det format.

Der er ikke noget standard format, så du må selv finde
på et.

Erik Jacobsens XML forslag er udmærker:

<?xml version="1.0" encoding="ISO-8859-1"?>
<dirstruct>
    <dir name="dir1">
        <file name="fil1"/>
        <dir="subsdir">
              <file name="fil2"/>
        </dir>
    </dir>
    <dir name="dir2">
        <file name="fil3"/>
    </dir>
</dirstruct>

eller et mere gammeldags tekst format:

dir1
  file1
  subdir
      file2
dir2
  file3

I begge tilfældene er det en ren tekst-fil som skal
flyttes med socket kald, hvilket er ret nemt med
f.eks. en OutptStreamWriter/Socket på serveren og
en BufferedReader/Socket på client.
Avatar billede bearhugx Nybegynder
26. oktober 2002 - 16:20 #5
Et foreslag er dog at sende 1 biblioket af gangen - og så lave det "browsebart" (dvs. kode serveren, så den kan modtage en ønsket absolut path (lige som FTP også virker)), så du ikke skal til at sende f.eks. en hel disks filstruktur afsted (alt efter, hvilke informationer du skal bruge kan det godt blive en stor mængde data)

Selvfølgelig kommer det an på, hvad du i sidste ende skal bruge det til - altså om du har brug for hele filstrukturen på en gang - eller at du kan tage det lidt i bidder (pr. bib-basis)

Jeg lavede for et-to år siden en servlet, som returnerede serverens fil-struktur...

Den virkede ved at man sendte den absolutte sti (f.eks. "D:\udvikling") med som en parameter, og så sørgede servletten for at returnere indholdet i HTML format, hvor biblioteker så var links, som også brugte servletten...
Jeg har senere også lavet servletten om til at returnere strukturen som XML (og HTML'en via XSLT :>)

Hvis du er interesseret - og kører en servlet-container, så kan jeg prøve at se, om jeg stadigvæk har den liggende.... Jeg er ikke sikker - men jeg kan da kigge efter den, hvis du ønsker...

/Søren Munkk Skrøder
Avatar billede bearhugx Nybegynder
26. oktober 2002 - 16:24 #6
bemærk at når jeg skriver "browse-bart", at det så ikke nødvendigvis behøver at være i HTML -- man kan også sende data'ene i f.eks. XML format - eller andre formater som f.eks.

[DIR1]
[DIR2]
fil1
fil2
fil3

Igen -- en af de væsenligste overvejelser du må tage - er ikke om, hvordan formatet skal udformes, men mere- om du skal tage et segment af fil-hierakiet eller hele baduljen på en gang - for dit valg af format vil givetvis blive dikteret af, hvilken måde, du vælger :-)
Avatar billede tommer Nybegynder
26. oktober 2002 - 20:14 #7
tak for de fine forslag til alle , jeg vil lige prøve de nævnte ting så vender jeg tilbage....
Avatar billede tommer Nybegynder
27. oktober 2002 - 14:38 #8
Søren Munkk Skrøder: jeg vil da gerne se den servlet du snakker om..
arne_v: hvordan skulle jeg kunne lave xml med dynamiske filnavne ?? det fatter jeg ikke..
Avatar billede tommer Nybegynder
15. januar 2003 - 11:03 #9
takker og lukker ;-)
Avatar billede arne_v Ekspert
15. januar 2003 - 11:19 #10
Jeg mangler vist at svare på dit sidste spørgsmål.

Hvis serveren genererer XMl dynamisk hvcer gang den sender til client, så
vil XML'en være dynamisk.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester