Created
April 29, 2018 10:36
-
-
Save Zerk123/f148fa81b5458019e524bc835111fae1 to your computer and use it in GitHub Desktop.
Remote Procedure Call (RPC)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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(); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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(); | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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(); | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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;} | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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