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과 통신하지 않는다는 것입니다. 누군가가 잘못 듣고 무엇을 말할 수 .. 서버 코드에서