소켓을 통해 서버에 연결할 클라이언트가 있습니다. 연결 후 서버에서 발생하는 모든 이벤트는 등록 된 모든 클라이언트로 전송됩니다.Java 소켓 이벤트 구동
모든 클라이언트는 이벤트와 관련된 데이터를 수신해야합니다.
클라이언트를 구현하기 만하면 ... 서버에 연결하여 이벤트 데이터를 수신해야합니다.
나는 같은 일을 생각하고 있었다 :
this.socket = new Socket(InetAddress.getByName(host),
this.socket.connect(socket.getLocalSocketAddress(), SOCKET_TIMEOUT);
을 그리고 while 루프에서 소켓의 InputStream
를 얻을 스레드를 실행합니다.
그러나 이것이 소켓을 통해 이벤트 구동 클라이언트를 구현하는 가장 좋은 방법인지는 잘 모릅니다.
?
스레드를 생성하지 않으면 응용 프로그램이 차단됩니다. 맞습니까? 나는 끊임없이 블로킹 동작 인 소켓을 읽을 필요가 있거나 틀린가? 응답을위한 Thx –
예, 소켓 읽기를 차단합니다. 그게 네가 원하는거야? Java의 논 블로킹 IO 프레임 포크도 있습니다. http://en.wikipedia.org/wiki/New_I/O에서 확인하십시오. –