Study/Java
RMI 채팅프로그램(Swing)
momong'-'
2020. 6. 17. 22:08
Class Server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class ChatServer {
private static Logger LOGGER = LogManager.getLogger(ChatServer.class);
public ChatServer() {
try {
initRmi();
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
}
private void initRmi() throws Exception {
LOGGER.debug("+++ initRmi");
ChatImpl chatImpl = new ChatImpl();
// 내부에 rmi registry를 생성한다.
Registry registry = LocateRegistry.createRegistry(1099);
registry.bind("chat", chatImpl);
LOGGER.debug("--- initRmi");
}
public static void main(String[] args) {
new ChatServer();
}
}
|
cs |
interface ChatInterface
1
2
3
4
5
6
7
8
9
10
11
|
import java.rmi.Remote;
import java.rmi.RemoteException;
import com.barunsw.imj.day12.chat.client.ChatRecvInterface;
public interface ChatInterface extends Remote {
public int login(String userId, ChatRecvInterface chatRecvIf) throws RemoteException;
public int logout(String userId) throws RemoteException;
public int message(String message) throws RemoteException;
}
|
cs |
RMI을 사용하기 위해서는 interface에서 Remote를 상속 받아야함
throse RemoteExeption을 안쓰면 java.lang.IllegalArgumentException 발생