OOP Lab Task 5: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
Linia 15: Linia 15:
== Requirements ==
== Requirements ==


# Implement a class called '''ClientPeer''' with the following characteristics:
# Implement a class called <span style="color:green;">ClientPeer</span> with the following characteristics:
#* The class constructor takes as arguments a String (the user/sender name) and a reference to a pre-initialized Socket.
#* The class constructor takes as arguments a String (the user/sender name) and a reference to a pre-initialized Socket.
#* The class implements two methods:
#* The class implements two methods:

Versiunea de la data 15 decembrie 2015 18:33

Required Tutorials

Requirements

  1. Implement a class called ClientPeer with the following characteristics:
    • The class constructor takes as arguments a String (the user/sender name) and a reference to a pre-initialized Socket.
    • The class implements two methods:
      • void sendMessage(String message) - creates a Message object and serializes it, utilising the available Socket.
      • void sendMessage(String message, String receiver) - creates a PrivateMessage object and serializes it, utilising the available Socket.
  2. Implement a class called TextClient, which is executable (has a main method), with the following characteristics:
    • The main method opens a Socket on the localhost (127.0.0.1) on port 9000
    • While the socket connection is active, read strings of characters from the keyboard (utilizing the Console class - see System.console()) and call the sendMessage methods specified above (Note: You may choose any formatting to identify a private message, but please describe this format in the homework submission e-mail; one example is /w John Hello! which identifies a private message to user John, with the content "Hello!").
  3. Implement a class called ServerPeer with the following characteristics:
    • The class constructor takes as argument a reference to a pre-initialized Socket.
    • While the socket connection is active, it deserializes objects of type Message and prints their formatted contents to the screen.
  4. Implement a class called Server, which is executable (has a main method), with the following characteristics:
    • The main method must utilize an object of type ServerConfig to read a port number from a configuration file
    • Utilizing the identified port number, opens a ServerSocket and listens to connections,
    • Once a client is connected, creates a ServerPeer object, which utilizing the Socket obtained from the ServerSocket, reads objects from the stream, according to point 3 above.
  5. Modify the Message and PrivateMessage classes such that they are serializable.

Submitting

  • The assignment will be evaluated automatically by the Web-CAT platform.
  • You could access the Web-CAT platform using the username and the password with which you acces the electronica.curs.pub.ro intranet.
  • Select the OOP Lab Task 5 assignment.
  • Submit your work as a single .zip archive (give it whatever name you choose) containing only the Java source code files.
  • Attention Any deviation from these instructions may lead to the loss of the entire amount of points.