728x90 netty14 자바내장 소켓통신 public class isConnected implements Runnable, Callable { private static final Logger logger = (Logger) LoggerFactory.getLogger(isConnected.class); Properties contextProperties = (Properties) ApplicationContextProvider.getApplicationContext().getBean("contextProperties"); String port1 = contextProperties.getProperty("vms.server.localport"); String ip; int port; CMRATemplate cmraInfo; int checkLim.. 2021. 6. 9. TCP/IP 통신 네티(netty)(1) 라이브러리로 Netty를 사용해서 소켓 통신을 구현 해볼것이다. 자바의 socket 클래스를 이용해서 구현도 가능하지만 내가 사용하는 것은 네티를 이용해서 이부분을 처리하고 있어서 이부분을 정리해보겠다. 네티에서는 소켓 통신을 이용하여 클라이언트와 서버와 연결을 유지하고 BootStrap, channel, channelContextHandler 등의 클래스들을 이용하여 통신을 한다. 초기 연결시 BootStrap을 이용하여 서버와 클라이언트간 연결을 시도한다. 다만 이때 네티에서는 클라이언트와 서버는 초기 설정시 BootStrap, 이벤트처리 스레드 설정이 다르다. 서버는 serverBootstrap이라는것을 사용하고 이벤트 처리 스레드도 2개를 생성하여 클라이언트에 대한 연결과 데이터처리용으로 2개를 .. 2021. 5. 24. JAVA pom.xml 오류 해결 가끔 원인을 알수 없는 java pom에러가 날때가 있다. 두가지 방식의 해결방법이 있는데 두방법 모두 해보는 것이 좋다. 메이븐을 이용해서 생성한 프로젝트에서는 개발단계에서 문제없다가 컴파일할 때, 갑작스럽게 pom.xml에 갑자기 나타난 빨간 밑줄로 인해 컴파일이 실패하는 경우가 있다. 이렇게 프로젝트를 클린하는 방식과 이렇게 pom.xml에서 업데이트 프로젝트로 들어간 이후에 해당 프로젝트를 선택한 이후에 Force Update of snapshots / Releases를 선택후 ok를 해줍니다. 이 두가지 모두를 하고도 제대로 실행이 안되면 컴퓨터를 껏다 키거나 이클립스를 껏다키고 그리고도 잘 안된다면 코드에 뭔가 이상이 있는것이다. 2021. 5. 24. netty spring start 1. 항상 맨처음 메인에서 XML 들을 로딩한다. --applicationContext = new ClassPathXmlApplicationContext("classpath*:spring/**/context-*.xml") 시작 2. XML의 가장 첫번쨰인 context-application 에서 .properties 파일 정보들을 로딩한다. 3. context-network 에서는 3-1-1. 네티의 이벤트 루프 그룹을 설정해준다. 3-1-2. bootstrap에서 사용할 채널 옵션을 설정 해준다. 3-1-3. 채널 인바운드 아웃바운드 이벤트를 처리해주는 파이프라인 초기화 클래스를 등록한다. 3-1-4. 서버 부트 스트랩 팩토리에 위의 설정들을 등록 해준다. 3-1-5. 서버 클래스(NettyTCPSer.. 2021. 5. 17. 이전 1 2 3 4 다음 728x90