1. 程式人生 > >大資料入門(7)RPC客戶端和RPC服務端通訊

大資料入門(7)RPC客戶端和RPC服務端通訊

RPC客戶端和RPC服務端通訊:

客戶端:(匯入jar:hdfs,common相關的)
LoginControl:
public class LoginControl {
    public static void main(String[] args) throws IOException {
        LoginService proxy = RPC.getProxy(LoginService.class, 1L, new InetSocketAddress("192.168.1.114", 10000), new Configuration());
        String login = proxy.login("tom", "123456");
        System.out.println("+++++++"+login);
    }    
}


LoginService :

public interface LoginService {
    public static final long versionID = 1L;
    public String login(String name,String pwd);

}

服務端:(匯入jar,xml檔案)

Start.java:
public class Start {
    
  public static void main(String[] args) throws HadoopIllegalArgumentException, IOException {
        
    Builder build = new RPC.Builder(new Configuration());
        
    build.setBindAddress("192.168.1.114").setPort(10000).setProtocol(LoginService.class).setInstance(new LoginServiceImp());
        Server server = build.build();
        
    server.start();
    
  }


}

LoginService.java
public interface LoginService {
    
    public static final long versionID = 1L;
    
    public String  login(String name ,String pwd);


}


LoginServiceImp .java


public class LoginServiceImp implements LoginService {

    
    @Override
    
    public String login(String name, String pwd) {
        
    // TODO Auto-generated method stub
        
    String s = name +"------------successful-------- "+pwd;
        
    return s;
    
    }


}

注意:通訊的兩個包名字要相同,否則找不到檔案