2014-04-29 4 views
0

제가 아파치 미나 TCP 서버와 java.net.Socket의 클라이언트아파치 미나 SocketAcceptor 및 java.net.Socket의 통신

서버 코드

SimpleIoProcessorPool<NioSession> pool = new SimpleIoProcessorPool<NioSession>(NioProcessor.class, 20); 

    SocketAcceptor acceptor = new NioSocketAcceptor(pool); 
    acceptor.setReuseAddress(true); 

    // Add two filters : a logger and a codec 

    acceptor.getFilterChain().addLast("logger", new LoggingFilter()); 
    acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8")))); 
    acceptor.setHandler(new TimeServerHandler()); 

    // Configurate the buffer size and the iddle time 
    acceptor.getSessionConfig().setReadBufferSize(2048); 
    acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 1); 

    acceptor.bind(new InetSocketAddress(8001)); 

에 네트워크 프로그램을 쓰고 있어요 그리고 내 서버 핸들러는,

public class TimeServerHandler extends IoHandlerAdapter{ 

@Override 
public void messageReceived(IoSession session, Object message) throws Exception 
{ 

    System.out.println("messagereceived"); 


    String str = message.toString(); 
    System.out.println(str); 

    if(str.trim().equalsIgnoreCase("quit")) { 
     session.close(true); 
     return; 
    } 

    Date date = new Date(); 

    System.out.println("Writing to client"); 

    session.write(date); 
} 

}

내 소켓 클라이언트가

012입니다
 InetAddress inetAddress = InetAddress.getByName("localhost"); 
     Socket socket = new Socket(inetAddress, 8001); 

     BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 
     BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream())); 

     bufferedWriter.write("Test"); 
     bufferedWriter.flush(); 

     System.out.println(bufferedReader.readLine()); 

     System.out.println("Done...."); 

     bufferedWriter.close(); 
     bufferedReader.close(); 

문제는 서버 소켓이 java.net.socket과 통신하지 않는다는 것입니다. 누군가가 잘못 듣고 무엇을 말할 수 .. 서버 코드에서

답변