Skip to content

Instantly share code, notes, and snippets.

@Zerk123
Created April 29, 2018 10:36
Show Gist options
  • Select an option

  • Save Zerk123/f148fa81b5458019e524bc835111fae1 to your computer and use it in GitHub Desktop.

Select an option

Save Zerk123/f148fa81b5458019e524bc835111fae1 to your computer and use it in GitHub Desktop.
Remote Procedure Call (RPC)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class AddServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
server_stub();
}
static void server(){
try{
System.out.println("waiting for client...");
ServerSocket ss = new ServerSocket(9806);
Socket soc = ss.accept();
System.out.println("connection Establlished...");
BufferedReader in = new BufferedReader(new InputStreamReader(soc.getInputStream()));
int number_1 = Integer.parseInt(in.readLine());
int number_2 = Integer.parseInt(in.readLine());
PrintWriter out = new PrintWriter(soc.getOutputStream(),true);
out.println("Calculate Adddition of "+number_1+" and "+number_2+" is:"+Add(number_1,number_2));
}catch(Exception e){
e.printStackTrace();
}
}
static void server_stub(){
server();
}
static int Add(int number_1,int number_2){
return number_1 + number_2;
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class ClientSide {
static void client(){
try {
System.out.println("Client Started...");
System.out.println("Select operation:");
Scanner input1 = new Scanner(System.in);
String operator = input1.nextLine();
switch(operator){
case "+":
Socket soc = new Socket("localhost",9806);
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the first name:");
int number_1 = Integer.parseInt(userInput.readLine());
System.out.println("Enter the second name:");
int number_2 = Integer.parseInt(userInput.readLine());
PrintWriter out = new PrintWriter(soc.getOutputStream(),true);
out.println(number_1);
out.println(number_2);
BufferedReader in = new BufferedReader(new InputStreamReader(soc.getInputStream()));
System.out.println(in.readLine());
break;
case "-":
Socket soc1 = new Socket("localhost",9807);
BufferedReader userInput1 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the first name:");
int number_3 = Integer.parseInt(userInput1.readLine());
System.out.println("Enter the second name:");
int number_4 = Integer.parseInt(userInput1.readLine());
PrintWriter out1 = new PrintWriter(soc1.getOutputStream(),true);
out1.println(number_3);
out1.println(number_4);
BufferedReader in1 = new BufferedReader(new InputStreamReader(soc1.getInputStream()));
System.out.println(in1.readLine());
break;
case "*":
Socket soc3 = new Socket("localhost",9808);
BufferedReader userInput2 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the first name:");
int number_5 = Integer.parseInt(userInput2.readLine());
System.out.println("Enter the second name:");
int number_6 = Integer.parseInt(userInput2.readLine());
PrintWriter out2 = new PrintWriter(soc3.getOutputStream(),true);
out2.println(number_5);
out2.println(number_6);
BufferedReader in2 = new BufferedReader(new InputStreamReader(soc3.getInputStream()));
System.out.println(in2.readLine());
break;
case "/":
Socket soc4 = new Socket("localhost",9809);
BufferedReader userInput3 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the first name:");
int number_7 = Integer.parseInt(userInput3.readLine());
System.out.println("Enter the second name:");
int number_8 = Integer.parseInt(userInput3.readLine());
PrintWriter out3 = new PrintWriter(soc4.getOutputStream(),true);
out3.println(number_7);
out3.println(number_8);
BufferedReader in3 = new BufferedReader(new InputStreamReader(soc4.getInputStream()));
System.out.println(in3.readLine());
break;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static void client_stub(){
client();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
client_stub();
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class DivServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
server_stub();
}
static void server(){
try {
System.out.println("Waiting for client...");
ServerSocket ss3 = new ServerSocket(9809);
Socket soc3 = ss3.accept();
System.out.println("Connection Established...");
BufferedReader in3 = new BufferedReader(new InputStreamReader(soc3.getInputStream()));
int number_7 = Integer.parseInt(in3.readLine());
int number_8 = Integer.parseInt(in3.readLine());
PrintWriter out = new PrintWriter(soc3.getOutputStream(),true);
out.println("Calculate Multiplication of "+number_7+" and "+number_8+" is:"+div(number_7,number_8));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static void server_stub(){
server();
}
static int div(int number_7,int number_8){
try{
return number_7/number_8;
}catch(ArithmeticException e ){
System.out.println("Warning:Not possible to divide by denomerator zero.");
}
return 0;
}
}
package src;
import java.io.*;
import java.net.Socket;
public class EchoClient {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
System.out.println("Client Starting...");
Socket soc = new Socket("localhost", 9806);
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the String");
String str = userInput.readLine();
PrintWriter out = new PrintWriter(soc.getOutputStream(),true);
out.println(str);
BufferedReader in = new BufferedReader(new InputStreamReader(soc.getInputStream()));
System.out.println(in.readLine());
}catch(Exception e){
e.printStackTrace();
}
}
}
package src;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
public class EchoServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
System.out.println("waiting for client...");
ServerSocket ss = new ServerSocket(9806);
Socket soc = ss.accept();
System.out.println("connection Establlished...");
BufferedReader in = new BufferedReader(new InputStreamReader(soc.getInputStream()));
String str = in.readLine();
PrintWriter out = new PrintWriter(soc.getOutputStream(),true);
out.println("Server says:"+str);
}catch(Exception e){
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MulServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
server_stub();
}
static void server(){
try {
System.out.println("Waiting for client...");
ServerSocket ss2 = new ServerSocket(9808);
Socket soc2 = ss2.accept();
System.out.println("Connection Established...");
BufferedReader in2 = new BufferedReader(new InputStreamReader(soc2.getInputStream()));
int number_5 = Integer.parseInt(in2.readLine());
int number_6 = Integer.parseInt(in2.readLine());
PrintWriter out = new PrintWriter(soc2.getOutputStream(),true);
out.println("Calculate Multiplication of "+number_5+" and "+number_6+" is:"+mul(number_5,number_6));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static void server_stub(){
server();
}
static int mul(int number_5,int number_6){return number_5*number_6;}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SubServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
server_stub();
}
static void server(){
try{
System.out.println("waiting for client...");
ServerSocket ss1 = new ServerSocket(9807);
Socket soc1 = ss1.accept();
System.out.println("connection Establlished...");
BufferedReader in1 = new BufferedReader(new InputStreamReader(soc1.getInputStream()));
int number_3 = Integer.parseInt(in1.readLine());
int number_4 = Integer.parseInt(in1.readLine());
PrintWriter out = new PrintWriter(soc1.getOutputStream(),true);
out.println("Calculate Adddition of "+number_3+" and "+number_4+" is:"+Sub(number_3,number_4));
}catch(Exception e){
e.printStackTrace();
}
}
static void server_stub(){
server();
}
static int Sub(int number_1,int number_2){
return number_1 - number_2;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment