3.12 mina 간단 한 tcp 사용
http<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">://blog.csdn.net/ljx8928358/article/details/7759024</span>
http://blog.csdn.net/cnicys/article/details/8535485
session 은 mina 프레임 의 심장 과 같 습 니 다. 모든 client 의 연결 이 server 에 도착 하면 새로운 session 을 만 들 고 client 연결 이 끊 길 때 까지 메모리 유닛 에 저장 합 니 다.
session 은 연결 과 관련 된 지속 적 인 정 보 를 저장 하 는 데 자주 사 용 됩 니 다. 이 정 보 는 server 에서 처리 할 때 매우 유용 합 니 다. 수명 주 기 는 전체 세 션 입 니 다.
1. session 의 상태
일반적으로 미 나의 세 션 은 다음 과 같은 몇 가지 상태 가 있다.
1. Connected: client 가 server 에 연결 한 후에 session 이 만 들 어 졌 고 이 session 은 유효 하고 사용 가능 합 니 다.
2、Idle : 이 때 session 은 어떠한 요청 도 처리 하지 않 았 으 며, 이 시간 은 당신 이 설정 한 session 이 빈 상태 로 들 어 가 는 시간 을 초과 하 였 으 며, idle 은 세 가지 상태 로 세분 화 되 었 습 니 다.
(1) idle for read 읽 기 채널 설정 시간 초과
(2) idle for write 쓰기 채널 설정 의 남 은 시간 초과
(3) idle for both 읽 기와 쓰기 채널 이 모두 남 은 시간 을 초과 하 였 습 니 다.
3. Closing: 이 때 session 이 닫 히 지만 완전히 닫 히 지 않 았 습 니 다 (처리 되 지 않 은 메시지 에 대해 flushed 작업)
4. Closed: session 이 완전히 닫 혔 고 이 상 태 는 거 스 를 수 없습니다.
android 클 라 이언 트 의 사용:
// CPU
connector = new NioSocketConnector(Runtime.getRuntime().availableProcessors() + 1);
// , true ,
connector.getSessionConfig().setTcpNoDelay(true);
//
connector.getSessionConfig().setReceiveBufferSize(Global.SOCKET.READ_BUFFER_SIZE);
//
connector.getSessionConfig().setSendBufferSize(Global.SOCKET.READ_BUFFER_SIZE);
// 10
connector.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 130);
//
connector.getFilterChain().addLast(
"codec",
new ProtocolCodecFilter(new SimpleEncoder(),
new SimpleDecoder()));
// ,
connector.setHandler(new ServerSessionHandler());
// ip
connector.setDefaultRemoteAddress(new InetSocketAddress(ip, port));
ConnectFuture future = connector.connect();
연결 처리:
class ServerSessionHandler extends IoHandlerAdapter { }
처리 해석:
public class SimpleDecoder extends ProtocolDecoderAdapter {}
public class SimpleEncoder implements ProtocolEncoder {}
데이터 보 내기:
public void encode(IoSession session, Object obj, ProtocolEncoderOutput out)throws Exception {
out.write("hello!");
}
혹시
IoSession session
session.write(param);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.