Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.apache.xmlrpc.XmlRpcClient;
- import java.io.IOException;
- import java.util.Objects;
- import java.util.Scanner;
- import java.util.Vector;
- public class RPCclient {
- public static void main(String[] args) {
- Scanner s = new Scanner(System.in);
- System.out.println("Enter IP address:");
- String ip_address = s.next();
- System.out.println("Enter port:");
- String port = s.next();
- String url = "http://" + ip_address + ":" + port;
- System.out.println(url);
- try {
- XmlRpcClient srv = new XmlRpcClient(url);
- AsyncClientHandlers asyncClientHandlers = new AsyncClientHandlers();
- Vector<Integer> asyncUsedParams = new Vector<>();
- String method = "";
- while(!Objects.equals(method, "exit")) {
- String showMethod = "show";
- String info = (String) srv.execute("myServer." + showMethod, asyncUsedParams);
- System.out.println("0. exit() - exit current program");
- System.out.println(info);
- method = s.next();
- Vector<Object> parameters = new Vector<>();
- if (!Objects.equals(method, "exit")) {
- switch (method) {
- case "asy" : {
- System.out.println("Podaj poczatek zakresu");
- parameters.add(Integer.valueOf(s.next()));
- System.out.println("Podaj koniec zakresu");
- parameters.add(Integer.valueOf(s.next()));
- System.out.println("Podaj sleep");
- parameters.add(Integer.valueOf(s.next()));
- break;
- }
- case "echo" : {
- System.out.println("Enter integer value");
- parameters.add(Integer.valueOf(s.next()));
- System.out.println("Enter integer value");
- parameters.add(Integer.valueOf(s.next()));
- break;
- }
- case "multiply" : {
- System.out.println("Enter double value");
- parameters.add(Double.valueOf(s.next()));
- System.out.println("Enter double value");
- parameters.add(Double.valueOf(s.next()));
- break;
- }
- case "parseIntAndDoubleToString" : {
- System.out.println("Enter integer value");
- parameters.add(Integer.valueOf(s.next()));
- System.out.println("Enter double value");
- parameters.add(Double.valueOf(s.next()));
- break;
- }
- case "upperAndConcatenate" : {
- System.out.println("Enter string value");
- parameters.add(s.next());
- System.out.println("Enter string value");
- parameters.add(s.next());
- break;
- }
- case "getTime" : {
- System.out.println("Enter place");
- parameters.add(s.next());
- System.out.println("Enter language");
- parameters.add(s.next());
- break;
- }
- }
- srv.executeAsync("myServer." + method, parameters, asyncClientHandlers);
- }
- }
- Vector<Integer> params = new Vector<>();
- params.addElement(13);
- params.addElement(21);
- String echoMethod = "echo";
- int result = (Integer) srv.execute("myServer." + echoMethod, params);
- System.out.println("Client evaluated method: " + echoMethod + ", and got result: " + result);
- srv.executeAsync("myServer." + echoMethod, asyncUsedParams, asyncClientHandlers);
- System.out.println("Asynchronous called " + echoMethod);
- srv.executeAsync("myServer." + echoMethod, params, asyncClientHandlers);
- System.out.println("Asynchronous called " + echoMethod);
- String upperMethod = "upperAndConcatenate";
- Vector<String> asyncUpperParams = new Vector<>();
- asyncUpperParams.addElement("dog");
- asyncUpperParams.addElement("cat");
- srv.executeAsync("myServer." + upperMethod, asyncUpperParams, asyncClientHandlers);
- System.out.println("Asynchronous called " + upperMethod);
- String parseMethod = "parseIntAndDoubleToString";
- Vector<Object> asyncParseParams = new Vector<>();
- asyncParseParams.addElement(1);
- asyncParseParams.addElement(2.0);
- srv.executeAsync("myServer." + parseMethod, asyncParseParams, asyncClientHandlers);
- System.out.println("Asynchronous called " + parseMethod);
- String asyMethod = "asy";
- srv.executeAsync("myServer." + asyMethod, asyncUsedParams, asyncClientHandlers);
- System.out.println("Asynchronous called " + asyMethod);
- } catch(Exception e) {
- System.err.println("Client XML-RPC: " + e);
- }
- s.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement