RMI
Remote Method Invocation (RMI) Project
RMI workflow
Knowledge
- Socket programming
- Multithreads programming
- threadpool
- Proxy
- InvocationHandler
- invoke
- Java Reflection
- Class
- method
- InvocationTargetException.
- Serialization
- ObjectInputStream/ObjectOutputStream.
TroubleShoot
-
Skeleton有一个指示server是否active的变量,这个变量需要注意thread-safe问题。
-
Docker中创建两个containers,如何相互ping,如何获取对方的IP的地址?
docker run -itd --name "server" rmi_img java -cp . pingPong.server.Server 7000
docker run -itd --name "client" --link server rmi_img java -cp . pingPong.client.Client server 7000
先创建一个名叫server的container,然后在创建client时使用--link
option,这样的话,server的hostname就是’server’,client可以根据hostname来创建socket
- Docker中创建一个container之后,如何让它在background run而不是立即exit?
docker run -itd --name "server" rmi_img /bin/bash
用-itd
option,然后run /bin/bash
,然后用docker attach server
进入container的bash