apache mina 학습 노트 2 (HelloWorld)
3383 단어 helloworld
http://mina.apache.org/mina-project/quick-start-guide.html
우리 가 필요 로 하 는 두 개의 jar 는 모두 다운로드 한 압축 파일 에서 찾 을 수 있다.
mina-core-2.0.7.jar
slf4j-api-1.6.6.jar
서버 코드 는 두 가지 종류 로 나 뉘 는데 하 나 는 서 비 스 를 시작 하 는 종류 인 MinaTimeServer. java 이 고 다른 하 나 는 요청 을 처리 하 는 종류 인 TimeServer Handler. java 입 니 다.
그냥 코드 올 려.
package cn.tang.test;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
public class MinaTimeServer {
private static final int PORT=9123;
public static void main(String[] args) throws IOException {
IoAcceptor acceptor = new NioSocketAcceptor();
acceptor.getFilterChain().addLast("logger", new LoggingFilter());
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
acceptor.setHandler(new TimeServerHandler());
acceptor.getSessionConfig().setReadBufferSize(2048);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
acceptor.bind(new InetSocketAddress(PORT));
}
}
세 션 생 성과 폐기 시 기 를 이해 하기 위해 홈 페이지 보다 방법 이 많 았 다.
package cn.tang.test;
import java.util.Date;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
public class TimeServerHandler extends IoHandlerAdapter {
@Override
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
cause.printStackTrace();
}
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
String str = message.toString();
if (str.trim().equalsIgnoreCase("quit")) {
session.close();
return;
}
Date date = new Date();
session.write(date.toString());
System.out.println("Message written...");
}
@Override
public void sessionCreated(IoSession session) throws Exception {
System.out.println("sessionCreated...");
}
@Override
public void sessionOpened(IoSession session) throws Exception {
System.out.println("sessionOpened...");
}
@Override
public void sessionClosed(IoSession session) throws Exception {
System.out.println("sessionClosed...");
}
@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
System.out.println("IDLE " + session.getIdleCount(status));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
안녕, 세계! C 프로그램이번 포스팅에서는 Hello, World! 이해하기 쉬운 방식으로 C로 프로그래밍하십시오. Hello, World를 이해하기 위해! C로 프로그래밍하려면 다음 게시물에 대한 지식이 있어야 합니다. (해시) 포함 (해...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.