본문 바로가기

Programming/TCP IP6

포트상태 대략정리 네트워크 통신시 필요한 정보는 아이피와 포트번호다. 이글에서 다룰건 포트 상태에 따른 접속 가능 여부인데 윈도우, 리눅스에서 커맨드 창으로 확인가능한데 listening, establish, time_wait, sync 상태로 분류할 수 있고 하나의 포트가 두개 이상의 상태를 가질 수 없다. listening 은 포트가 열린 상태로, 클라이언트가 접속 가능한 상태의 포트다. establish 는 연결이 된 포트로, 서버와 클라이언트가 연결된 상태를 의미한다. 이때 서버에서는 포트에서 또 다른 클라이언트를 접속 받을 수 있다. time_wait의 상태는 연결이 종료되고 포트가 닫히기를 기다리는 상태이며 이상태는 설정마다 다르지만 대부분 60초라고 생각하면된다. sync 의 상태는 클라이언트가 서버에 연결요.. 2021. 12. 21.
wireshark capture 안뜸 오류 와이어샤크를 자주사용하지 않고 사용해야할 빈도가 높은 시기에만 사용하는 터라 자주 잊어먹는다. 1. 위와 같이 보통 실행하게 되는데 이때 실행하게되면 2. 위의 화면 처럼 패킷캡쳐가 가능한 부분이 나와야하는데 간혹 나오지 않는 경우가 있다. 3. 바로가기나 실행파일을 shift + 우클릭을 통해 관리자 권한으로 실행이 필요하다. 관리자 권한이 없다면 관리자의 허가를 받아 실행해야한다. 2021. 8. 24.
[Netty/JAVA] 재접속 오류 확인 리스너클래스가 접속시 사용하는 클래스에서 제대로 생성된다면 연결 종료시 정확하게 동작하지만 문제는 클래스 생성이 제대로 돼지 않아서 생기는 문제였다. 무슨말이냐면 연결 시도시 연결 종료시 사용하는 리스너 클래스를 구분하여 connect리스너, closed connect 리스너라는 클래스로 구분하여 사용하고있었는데 설마 자바 클래스 생성이 안되서 생기는 문제겠냐며 일단 이놈들이 제대로 시작하는 시점이 언제고 언제등록됐는지 알아보기위해 생성자를 이용해서 생성자 작동시 바로 로그를 출력하도록 했는데 설마하던 일이 일어났음. 연결 시도시 사용하는 connect 리스너는 항상 잘 작동함. 잘 작동하는 놈은 conenct 리스너는 대체로 항상 작동하는데 (작동이 안되면 바로 티가 나겠지) close 리스너 클래스가.. 2021. 7. 21.
자바 TCP/IP 통신 (Netty, 네티) - 3 송신 항상 늘 그랬듯이 아무것도 모를 미래의 나에게 설명한다. 이전 글에서 사용했던 부트스트랩을 연결할 때 핸들러를 등록할때 사용했던 ChannelInitializer클래스를 이용해 설명할 수 있다. clientBootstrap.group(e) .option(ChannelOption.AUTO_READ, true) .handler(new ChannelInitializer()); ChannelInitializer클래스는 ChannelInitializer 을 상속받았는데 ( import io.netty.channel.ChannelInitializer ) ChannelInitializer안의 initChannel 메소드를 오버라이딩하여 아래와 같이 정의되었다. @Override protected void initCh.. 2021. 5. 21.