socket

    📡 FTP 통신, Socket 이야기

    FTP FTP 서버에 파일들을 업/다운로드 할 수 있게 해주는 프로토콜로 TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규약입니다. 프로토콜 := 전자기기 간에 데이터를 교환하기 위한 통신 규약(어떻게 메시지를 주고받을지 약속) FTP의 목표 FTP 서버와 FTP Client 간 효율적인 파일 전송 포트 설정 일반적으로 두개의 포트를 사용합니다. 제어 포트(Control Port) 사용자 인증 및 명령입력에 사용되는 포트 ftp 클라이언트가 21번을 통해 ftp 서버에 접속하면 제어와 관련된 세션이 열리게 됩니다. 데이터 포트(Data Port) ftp 서버에서 20번을 통해 ftp 클라이언트로 접속하면 데이터 전송을 할 수 있습니다. 데이터 전송 연결 접속 방식 클라이언트와 서버 ..

    JAVA 네트워크 프로그래밍 - 소켓 통신 👉 netty

    💡 자바 소켓 통신 💡 자바의 네트워크 통신 변화 순수 자바를 위한 java.net 패키지 라이브러리 👉 자바 NIO 👉 netty 📌 순수 자바를 위한 java.net 패키지 라이브러리 → 블로킹 함수만 지원 → 한 번에 한 연결만 처리 많은 수의 클라이언트를 관리하기 위해서는 많은 수의 스레드를 생성해야 하는 리소스 낭비 📌 자바 NIO 논블로킹 호출이 포함, 이벤트 통지 API를 이용 적은 수의 스레드로 더 많은 연결을 처리할 수 있어 메모리 관리와 컨텍스트 스위치에 대한 오버헤드가 준다. 입출력을 처리하지 않을 때는 스레드를 다른 작업에 활용할 수 있다. 부하가 높은 상황에서의 까다로운 처리는 어려운 일임 📌 netty 오픈소스 프레임워크 내부에서 네트워크 송수신 처리에 사용 고급 API를 내부에..