Socket-Java-Εργασια

...IDE, compilers, κλπ

Συντονιστής: konnn

Socket-Java-Εργασια

Δημοσίευσηαπό andreas_g » 04 Μάιος 2009, 03:41

Εχω μια εργασια σε java.......
Πρεπει να χρησιμοποιησουμε Socket και να φτιαξουμε ενα server και ενα client!
Μας εχει δοσει τα σημαντικα καμματια του προγραμματος και λεει να τα βαλουμε στη σειρα αλλα και παλι εχω χαθει........και απο το ducumentation της java δεν βγαζω ακρη.


Λοιπον το καμματι που μας δεινει για τον server ειναι αυτο:
Κώδικας: Επιλογή όλων
  try {
        int port = 2000;
        ServerSocket srv = new ServerSocket(port);
   
        // Wait for connection from client.
        Socket socket = srv.accept();
    } catch (IOException e) {
    }


Αρα τελικα ο server θα μοιαζει καπως ετσι:
Κώδικας: Επιλογή όλων
import java.net;

public class SocketServer
{
    pubic static void main(String[] args)
    {

   public SocketServer()
   {

     try
     {
      int port = 2000;
      ServerSocket srv = new ServerSocket(port);
      Socket socket = srv.accept();
     }

     catch (IOException e)
     {
   
      System.out.println("Apotuxia sundesis!");

      System.exit(0);

     }
   }

    }
}



Καταρχην, μπορω να βαλω την try μεσα στον κατασκευαστη?

Αρκει η κληση του ServerSocket ειναι μεσα στην try η πρεπει να τον καλεσω και εξω!



Για τον client τα κομματια που μας δινει 3,

1.
Κώδικας: Επιλογή όλων
  try {
        InetAddress addr = InetAddress.getByName("java.sun.com");
        int port = 80;
   
        // This constructor will block until the connection succeeds
        Socket socket = new Socket(addr, port);
    } catch (UnknownHostException e) {
    } catch (IOException e) {
    }


2.
Κώδικας: Επιλογή όλων
try {
        BufferedReader rd =
   new BufferedReader(new InputStreamReader(socket.getInputStream()));
   
        String str;
        while ((str = headline()) != null) {
            process(str);
        }
        rd.close();
    } catch (IOException e) {
    }


3.
Κώδικας: Επιλογή όλων
try {
        BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        wr.write("aString");
        wr.flush();
    } catch (IOException e) {
    }


Εδω τωρα ειναι που δεν ξερω τι μου γινεται!!!!!!!
Το πρωτο κανει την συνδεση,το δευτερο γραφει και το τριτο διαβαζει???????????
Για να δουλεψουν πρεπει να φτιξω τρις μεθοδους και τα τις καλεσω απο τον κατασκευαστη?
Στο πρωτο καμματι του client τι διαφορα εχουν τα δυο exception??????

Καμια ιδεα???
Sorry για το μεγαλο post! :? :? :? :? :oops: :?: :?:
Open your source, Open your mind.

Εικόνα


Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Slackware 13.0 32bit σε Dell Inspirion 1525
Προδιαγραφές ⇛ T4200 │ 2GB │ GM965 │ BCM4312 │ HD Audio │
Άβαταρ μέλους
andreas_g
babeTUX
babeTUX
 
Δημοσιεύσεις: 10
Εγγραφή: 02 Απρ 2009, 05:47
Εκτύπωση

Re: Socket-Java-Εργασια

Δημοσίευσηαπό Nisok » 04 Μάιος 2009, 10:20

Το βρήκα στο google. Είναι ωραίο παραδειγματάκι.
Κώδικας: Επιλογή όλων
// Example 1(a): Constructor function-try-block
//
C::C()
try
  : A ( /*...*/ ) // optional initialization list
  , b_( /*...*/ )
{// Example 1(a): Constructor function-try-block
//
C::C()
try
  : A ( /*...*/ ) // optional initialization list
  , b_( /*...*/ )
{
}
catch( ... )
{
  // We get here if either A::A() or B::B() throws.

  // If A::A() succeeds and then B::B() throws, the
  // language guarantees that A::~A() will be called
  // to destroy the already-created A base subobject
  // before control reaches this catch block.
}
}
catch( ... )
{
  // We get here if either A::A() or B::B() throws.

  // If A::A() succeeds and then B::B() throws, the
  // language guarantees that A::~A() will be called
  // to destroy the already-created A base subobject
  // before control reaches this catch block.
}


http://www.gotw.ca/gotw/066.htm

Αν σε βοήθησε το link βάλε ένα τικ στο τίτλο. Γενικά ένασε forum για Java. Θα μπορούσαν να σε βοηθήσουν καλύτερα.
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού

cron