반응형
서버를 생성할 때 기능 시험을 위해 호스트의 IP와 관계 없이
서버 소켓을 127.0.0.1로 주고 port를 지정하면 로컬에서 클라이언트를 구현하여 테스트 할때 별 문제가 없습니다.
하지만 개발을 완료 한 후 외부에서 접속 하려고 하면 접속이 안되는 것을 볼 수 있습니다.
가끔 착각하는 것이 서버 소켓에 내 아이피를 명시하지 않아도 서버 주소를 통해 외부에서 들어오는 모든 접속에 대하여 포트만 맞으면 받아 줄거라 생각합니다. 하지만 두가지는 명확히 다릅니다.
소켓을 생성할 때 127.0.0.1과 0.0.0.0의 차이는 다음과 같습니다.
1. 127.0.0.1
127.0.0.1은 로컬 루프백 인터페이스를 나타내는 IP 주소이며 로컬 머신에서만 접근 가능합니다.
따라서, 127.0.0.1은 하나의 호스트 내에서 소켓을 통하여 여러 프로세스가 IPC를 해야할 필요가 있을때 사용하는것입니다.
2. 0.0.0.0
0.0.0.0 IP 주소는 모든 네트워크 인터페이스를 나타냅니다. 즉, 소켓은 로컬 머신뿐만 아니라 다른 머신에서도 접근 가능하기 때문에 개발 완료 후 실제 서비스에서는 이 주소를 사용할 수 있습니다.
자신의 아이피를 직접 서버 소켓 생성에 주어도 동일하게 동작합니다, 하지만 아이피는 변경될 수 있기 때문에 0.0.0.0을 사용하는 것이 편리합니다.
반응형
반응형
'IT > 리눅스' 카테고리의 다른 글
우분투 패키지 찾기, 설치없이 다운로드 하기(수동 설치, dpkg 사용법) (0) | 2023.05.24 |
---|---|
DNS 서버란 무엇인가? 알려진 DNS 서버들(네임서버) (0) | 2023.05.19 |
Rocky linux nvcc, cuda-toolkit 안될 때 해결하기(설치된 cuda 버전 확인하기, cuda-toolkit ropo 등록) (0) | 2023.05.12 |
리눅스 파일 찾기, find 명령의 다양한 응용(날자, 크기 조건으로 찾기, 찾아서 지우기 등등) (0) | 2023.04.27 |
Rocky linux 해킹 시도 확인, 원격 접속, 로그인 시도 결과 확인하는 법(/var/log/secure, /var/log/btmp) (0) | 2023.04.27 |