Skip to content

Instantly share code, notes, and snippets.

@Eyad-Bereh
Created July 27, 2020 17:57
Show Gist options
  • Save Eyad-Bereh/9c2e1942a291c95e03743eeffe9a012b to your computer and use it in GitHub Desktop.
Save Eyad-Bereh/9c2e1942a291c95e03743eeffe9a012b to your computer and use it in GitHub Desktop.
NAD Chapter 8 - 1 & 2 solutions
package app;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Scanner;
public class ClientApp {
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = in.nextLine();
System.out.print("Enter your age: ");
int age = in.nextInt();
System.out.print("Enter your message: ");
String message = in.next();
User user = new User(name, age, message);
System.out.println("User info: " + user);
Socket serverSocket = new Socket("127.0.0.1", 50000);
ObjectOutputStream oos = new ObjectOutputStream(serverSocket.getOutputStream());
ObjectInputStream ois = new ObjectInputStream(serverSocket.getInputStream());
oos.writeObject(user);
User recieved = (User)ois.readObject();
System.out.println("Recieved from server: " + recieved);
serverSocket.close();
in.close();
}
}
package app;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerApp {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(50000);
Socket clientSocket = serverSocket.accept();
System.out.println("Client " + clientSocket.getInetAddress().getHostAddress() + ":" + clientSocket.getPort() + " has connected");
ObjectOutputStream oos = new ObjectOutputStream(clientSocket.getOutputStream());
ObjectInputStream ois = new ObjectInputStream(clientSocket.getInputStream());
User recieved = (User)ois.readObject();
System.out.println("Recieved from client: " + recieved);
oos.writeObject(recieved);
serverSocket.close();
}
}
package app;
import java.io.Serializable;
public class User implements Serializable {
private String name;
private int age;
private String message;
public User() {
}
public User(String name, int age, String message) {
this.name = name;
this.age = age;
this.message = message;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
public String getMessage() {
return this.message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String toString() {
return "{" +
" name='" + getName() + "'" +
", age='" + getAge() + "'" +
", message='" + getMessage() + "'" +
"}";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment