개발/개발하다가 알게된 것
서버 소켓 bind시 INADDR_ANY와 localhost
미니소곰
2019. 4. 17. 11:02
INADDR_ANY는 어떤 주소로든 접속하게 해준다.
처음에 python으로 서버를 만들때 localhost를 서버 address에 넣었는데 외부에서 연결이 되지않아 당황했다.
C코드 서버를 보니 INADDR_ANY로 바인딩하는 것을 보고, 어떤 주소에서든 접속하려면 localhost로 설정하는게 아니라 INADDR_ANY로 설정해야함을 알게되었다.
python의 소켓 모듈을 사용해서 서버를 만들 때, INADDR_ANY로 설정하려면 bind할 때 empty string을 address부분에 넣어주면 된다.
예) server_socket.bind(('', PORT))