Java--回撥模型

BtWangZhi發表於2017-12-17

模擬客戶端非同步發行資訊到服務端
回撥介面:

public interface CallBack {
    public void processResult(Integer statusCode);
}

客戶端回撥實現類:

public class ClientCallBack implements CallBack {
    public void processResult(Integer statusCode) {
        // TODO Auto-generated method stub
        System.out.println("執行回撥,返回值:" + statusCode);
    }
}

客戶端,啟動一個執行緒非同步傳送訊息:

public class Client {
    public void sendMsg(final Server server, final String msg) {
        System.out.println("客戶端傳送訊息:" + msg);
        new Thread(new Runnable() {
            public void run() {
                // TODO Auto-generated method stub
                server.getClientMsg(new ClientCallBack(), msg);
            }
        }).start();
    }
}

服務端,接收訊息,執行回撥方法:

public class Server {
    public void getClientMsg(CallBack callBack, String msg) {
        System.out.println("服務端接收到的資訊為:" + msg);
        callBack.processResult(200);
    }
}

測試:

public class TestMain {
    public static void main(String[] args) {
        new Client().sendMsg(new Server(), "hello world");
    }
}

參考:
http://blog.csdn.net/qq_29347295/article/details/78824775

相關文章