개발환경

string based netty server client example

toogari 2023. 10. 27. 11:50

주요 기능

  • \n 이 끝인 문자열 기반임 
  • 재시작, 재접속 시도
  • idle상태가 되면 heartbeat 메세지 전송.
  • slf4j 로깅 처리.

서버

  • 문자열을 받으면 숫자를 다르게 하여 클라이언트로 전송.
  • 채널별로 100000 개의 문자열을 받으면 channel close 처리
  • 60초 idle상태가 되면 heartbeat 메세지 전송. 메세지전송 오류시 channel 종료
  • startup, shutdown 메소드 

클라이언트 

  • 서버 접속시에 문자열 전송.
  • 문자열을 받으면 그대로 서버로 전송.
  • startup, shutdown 메소드 

 

https://github.com/lloydkwon/simple-string-netty

 

GitHub - lloydkwon/simple-string-netty: String based Netty Sample

String based Netty Sample. Contribute to lloydkwon/simple-string-netty development by creating an account on GitHub.

github.com

 

  • 간단한 형태의 전문은 ByteToMessageDecoder 를 상속받아 구현 처리
  • 복잡한 전문은  ReplayingDecoder 를 상속받고 전문상태별로 state 처리하고 로직 구현으로 처리가능.
  • 복잡한 비즈니스 로직은 FSM(finite state machine ) 패턴을 이용하여 구현 처리
  • fsm 패턴은 stateless4j 같은 오픈소스나 Spring Statemachine 을 이용하여 구현가능.