Avatar billede kasseper Nybegynder
08. august 2001 - 14:26 Der er 13 kommentarer og
1 løsning

sockets

Hej alle

Jeg har nu lavet en del Java programering, og nu kunne jeg så godt tænke mig at kunne kommunikere ud gennem en eller anden port.
Er der en der kunne vise mig hvordan man bruger sockets eller åbner en port eller en anden vej ud til \'det store internet\'.

Hvordan gør man helt generelt, man skal jo formindelig bruge en protokol, når man kommunikere, men hvordan bruger jeg den, og hvor finder jeg mere information om dette emne...

Links til gode sider belønnes, links til dårlige sider belønnes ikke.... !

Avatar billede disky Nybegynder
08. august 2001 - 14:34 #1
til serveren:

Opret en server socket på en bestemt port og klad .accept() på den.

på clienten, opret en socket forbindelse og hen streamen.

SÅ skulle det spille.
Avatar billede disky Nybegynder
08. august 2001 - 14:37 #2
Kig her http://developer.java.sun.com/developer/technicalArticles/Networking/Webserver/

der kan du se hvordan man kan lave en simpel webserver
Avatar billede kasseper Nybegynder
08. august 2001 - 14:39 #3
OK, den havde jeg luret, men lad os nu sige at jeg gerne ville lave et program der pingede en ekstern computer, eller hentede en fil fra en ekstern server, Hur skal det laves, og det springende punkt her er at jeg ikke selv har adgang til serveren. !
Avatar billede disky Nybegynder
08. august 2001 - 14:40 #4
Hvordan vil du hente filen ?

Er det via http ? ftp ? telnet ?


Hvis du ikke har adgang til serveren kan du jo ikek så nemt lave et program til den :)
Avatar billede kasseper Nybegynder
08. august 2001 - 14:41 #5
OK, måske lidt tvetydigt beskrevet.
Fra bunden af : Jeg vil gerne lave et program der kan connecte til en server og læse en fil der ligger på den server. Jeg ved hvad IP adressen er og filen jeg skal læse er public....
Avatar billede disky Nybegynder
08. august 2001 - 14:43 #6
Hvis du skulle gøre det per håndkraft, skal du bruge et ftp program eller en browser ?
Avatar billede kasseper Nybegynder
08. august 2001 - 14:44 #7
for at løfte sløret helt, så handler det om et Stats program. Jeg ved at spilserveren generere en logfil, der ligger i et specielt bibliotek, som så skulle kunne hentes. Ihvertfald så findes der PERL programmer der kan klare ærterne, men jeg kunne godt tænke mig at lave et i Java, kan du gi en ledetråd. ?
Avatar billede disky Nybegynder
08. august 2001 - 14:50 #8
prøv at brug:
public URL(String protocol,
          String host,
          int port,
          String file)
    throws MalformedURLException

protocol = FTP
host    = servernavn
port    = 21
file    = path og filnavn på logfilen

kald så .openStream() på objectet

og læs så filen.
Avatar billede kasseper Nybegynder
08. august 2001 - 14:58 #9
Jeg gør forsøget, hæng på det kan altså godt vare lidt tid :)
Avatar billede disky Nybegynder
08. august 2001 - 14:58 #10
ok
Avatar billede disky Nybegynder
08. august 2001 - 15:33 #11
hejsa her er noget der måske kan bruges:

i denne linie:
            URL url=new URL(\"ftp://sunsite.auc.dk/projects/cgfa/american.htm\");

skal du skrive server navn path og filnavn,

filne bliver hentet og gemt på dit C:\\ drev i roden under navnet \'readme\'

/*
* Henter.java
*
* Created on 8. august 2001, 14:52
*/

import java.net.*;
import java.io.*;

/**
*
* @author  srr
* @version
*/
public class Henter extends java.lang.Object
{
   
    /** Creates new Henter */
    public Henter()
    {
        try
        {
            URL url=new URL(\"ftp://sunsite.auc.dk/projects/cgfa/american.htm\");
            System.out.println(\"url = \"+url.toString());
            InputStream in=url.openStream();
            DataOutputStream out= new DataOutputStream(new FileOutputStream(\"c:\\\\readme\"));

            byte webData[]=new byte[8192]; //allocate enough space for the complete page.
           
            int data=0;
            while(data!=-1)
            {
                data=in.read(webData);
                if(data!=-1)
                {
                    out.write(webData, 0, data);
                }
            }
            //System.out.println(\"page = \"+page.toString());
           
            out.close();
            in.close();
            System.out.println(\"slut\");
           
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace(System.out);
        }
        catch (IOException e)
        {
            e.printStackTrace(System.out);
        }
       
    }
   
    /**
    * @param args the command line arguments
    */
    public static void main (String args[])
    {
        new Henter();
    }
   
}
Avatar billede disky Nybegynder
09. august 2001 - 11:04 #12
Kasseper:

Hvad så kan du bruge det ?
Avatar billede kasseper Nybegynder
13. august 2001 - 15:18 #13
Ja som det hele skrider frem så opdager man at det man troede man havde brug for det ikke svarede overens med det man søgte fra starten, men du har svaret på mit spørgsmål, så du skal ha dine point.....MEN vil du tjene flere, så tjeck denne ud : http://www.eksperten.dk/spm/98055
Avatar billede disky Nybegynder
13. august 2001 - 15:21 #14
jeg takker
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