자바 소켓통신 관련질문입니다.
사지타리우스
2023.04.01
제가 소켓통신을 이용하여 자바로 멀티서버를 열고
각각 안드로이드와 PC의 하이퍼터미널을 이용하여 서버로 접속하여 데이터를 서버로 날립니다.
날리는 데이터는 3바이트로 1초 마다 전송을 합니다. 클라이언트 쪽에서 데이터를 보내고 접속을 끊고 하면 수신된 데이터가
보입니다.
하지만, 서버와 클라이언트간에 연결이 되어져 있는 상태에서는 수신된 데이터가 보이질 않습니다.
정리하면,
클라이언트에서 접속을 한뒤 데이터를 전송하고 연결을 끊으면 데이터가 보이는데, 계속 연결된 상태에서 데이터를 보내면서버에서 수신된 데이터가 보이지않는데, 계속 서버에서 데이터를 읽어 들이는 중인가요?
아래는 서버에서 수신된 데이터를 읽어오는 구문입니다.
BufferedReader in = new BufferedReader(new InputStreamReader(m_socket.getInputStream()));
String str = in.readLine(); //서버에서 데이터 읽기.
계속 소켓을 열어둔 상태에서 데이터를 읽고 처리할려면
어떻해야 할까요...
ps. 꼭!! 자세히 설명 부탁드립니다..
-
맺음새
리쓴스레드 리드쓰레드 라이트쓰레드!! 한글로쓰니깐 멋이없네... 세개로 분할하여 처리하십셔