公共类
先放一些公共类:
package common.ServiceImpl;
import common.Hello;
import common.HelloService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class HelloServiceImpl implements HelloService {
@Override
public String hello(Hello hello) {
log.info("HelloServiceImpl2收到: {}.", hello.getMessage());
String result = "Hello description is " + hello.getDescription();
log.info("HelloServiceImpl2返回: {}.", result);
return result;
}
}
package common;
public interface HelloService {
String hello(Hello hello);
}
package common;
import lombok.*;
import java.io.Serializable;
/**
* @Author:Summer
* @Data:2022/2/17 21:33
*/
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Builder
@ToString
public class Hello implements Serializable {
private String message;
private String description;
}
不用动态代理 demo1
下面最简陋的远程调用,客户端进行方法调用,然后服务端接收后本地调用并将结果返回。
package demo1;
import common.Hello;
import common.HelloService;
import common.ServiceImpl.HelloServiceImpl;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static boolean running = true;
public static void main(String[] args) throws IOException, ClassNotFoundException {
ServerSocket serverSocket = new ServerSocket(9999)