굳이 자바의 문제점은 아닌듯 싶군요..
보아하니...TCP 소켓인듯 한데...
TCP의 특성상 그렇게 동작하게 됩니다.
: 서버에 클라이언트가 접속을 하면 곧바로 클라이언트에게 메세지 연속으로 몇개를 보냅
니다.그리고 클라이언트는 그것을 받아서 출력을 합니다. : 서버는 보낼때 BufferedOutputStream
이것을 이용하고 : 클라이언트는 받을때 BufferedInputStream 을 이용합니다.
: 근데 문제는
: 서버가 여러개를 한번에 보내면 클라이언트가 그것을 따로따로 받는게 아니라 한번에 받
: 아버립니다. 이문제를 어떻게 해결해야 합니까?
:
: out과in은 각각 위에서 말한 io객체입니다.
:
: 서버소스 일부분
: //////////////////////////////////////////////////////////////////////
: public void sendMsg()
: {
: try
: {
: String msg="This is a test";
: for(int i=0;i<5;i++)
: {
: out.write(msg.getBytes());
: out.flush();
: System.out.println("SEND : "+msg);
: }
: }catch(Exception ex)
: {
: }
: }
: /////////////////////////////////////////////////////////////////////
:
: 클라이언트 소스 일부분
: /////////////////////////////////////////////////////////////////////
: public void getMsg()
: {
: byte<> recvbuf=new byte[1024];
: int count;
: try
: {
: while (true)
: {
: Arrays.fill(recvbuf,(byte)0);
: if ((count=in.read(recvbuf))==-1)
: {
: break;
: }
: String recv_msg=new String(recvbuf);
: System.out.println("GET : "+recv_msg);
: }
: }catch(Exception ex)
: {
: }
: }
: /////////////////////////////////////////////////////////////////////
:
: --
: Plus and Minus