Open CEmmanuelP opened 5 years ago
Home
과 MultiServer
가 클라이언트
와 서버
간의 관계라면,
통신을 통해 MultiServerThread
에서 Home
이 접속했을 때 ms.getList().size()
값을 전송해주고, Home
에서 받도록 하는 방법이 맞는 것 같네요.
Home
에서 새로운 객체를 생성한다고 해도 getList().size()
값이 원하는 값이 나오진 않을거에요.
아예 새로운 서버를 하나 만드는 행위이니까요.
Home
과MultiServer
가클라이언트
와서버
간의 관계라면, 통신을 통해MultiServerThread
에서Home
이 접속했을 때ms.getList().size()
값을 전송해주고,Home
에서 받도록 하는 방법이 맞는 것 같네요.
MultiServer와 Chat이 서버와 클라이언트의 관계이고 Login은 처음에 폰트같은걸 설정해주는 창이고 Home은 닉네임과 현재 접속자수를 보여주고 버튼에 따라 Chat창과 Memo창으로 접속하는 기능입니다. login과 home은 MultiServer와 따로 연결되어있지 않습니다(클라이언트가 아닌 것 같습니다.). 그러면 Home에 socket을 연결해서 ms.getList().size()값을 전송해 주면 되는 건가요? 조금만 더 자세히 설명해주시면 이해할 수 있을 것 같습니다. ㅠㅠ
먼저 Home
이 서버단에서 동작하는 클래스인지, 클라이언트단에서 동작하는 클래스인지 구분할 필요가 있습니다.
제가 보기엔 클라이언트 측 같은데, 그렇다고 하면 socket을 연결해서 서버에서 사이즈를 전송해주는 게 맞겠어요.
해결하고자 하는 문제
MultiServer에 있는 ArrayList list의 크기를 Home화면으로 불러오고 싶습니다.
밑에 있는 MultiServerThread에서는 ms.getList().size()로 불러올 수 있는데 Home.java에서 똑같이 MultiServer 객체를 생성하고 ms.getList().size()로 불려오려고 하면 실행이 안됩니다..
코드 혹은 오류
환경
사용중인 운영체제, 언어, 라이브러리의 버전을 적어주세요.
github
https://github.com/CEmmanuelP/chatting.git