주소 할당 함수 bind 이번 단원에서는 bind 함수에 대해 설명드리고자 합니다. 클라이언트가 서버에 접속하기 위해서는 어떤게 필요할까요? 쉽게 생각해보면 주소가 있어야 겠다는 생각이 들겁니다. 정확히 말하면 클라이언트가 어떤 특정 서버에 접속하기 위해선 그 서버의 IP주소와 port를 알아야 접속이 가능한 겁니다. 그럼 잠깐 생각해 볼까요? 우리는 어떻게 주소와 포트 번호로 서버에 접속을 할 수 있는걸까요? 그건 서버측에서 bind함수를 호출해 놓았기 때문입니다. 전에 '흐름도'단원에서 클라이언트가 접속할 수 있도록 주소를 할당한다고 했습니다. 이럴때 쓰이는게 bind함수지요. 만약 서버에서 211.108.23.xxx라는 IP주소와 27015라는 port번호를 bind시켜놓았다면 클라이언트가 그 서버로 접속하기 위해선 211.. 더보기 소켓 프로그래밍 흐름도(클라이언트) 전 장에서 서버측의 흐름도를 살펴봤습니다. 클라이언트도 이와 비슷하지만 전화를 거는 사람과 받는 사람이 해야하는 일이 다르듯이 소켓프로그래밍도 서버와 클라이언트를 다른 방식으로 처리하게 됩니다. 클라이언트는 서버보다는 조금더 간단하게 구현이 되지요. 클라이언트 측에서는 bind함수를 호출해줄 필요가 없습니다. 접속요청이 들어오는건 서버뿐이니 주소를 할당하는건 클라이언트에겐 필요없겠지요. 마찬가지로 listen함수도 호출해줄 필요가 없습니다. 접속요청이 올리가 없기 때문에 접속요청을 수락하는 작업도 필요없기 때문이지요. 클라이언트의 프로그래밍 순서도를 짜보면 다음과 같습니다. 1. socket함수 : socket을 생성( 전화기를 장만 ) 2. connect함수 : 서버에 접속요청을 한다( 전화를 건다 ).. 더보기 소켓 프로그래밍 흐름도(서버) 네트워크 프로그래밍을 한번 쯤 해보신 분이라면 호출 순서가 조금 복잡하다고 느끼셨을지도 모릅니다. 그래서 개념적으로 설명을 드리고 함수를 설명하려 합니다. 하지만 여기서 말하는 함수를 모르셔도 아직은 상관 없습니다. 앞으로 다시 자세한 설명을 할테니까 말이죠. 우리가 네트워크 코드를 짤때 '전화기'에 비유해서 생각해 볼 수 있습니다. 네트워크 프로그래밍은 크게 둘로 '서버' 그리고 '클라이언트' 측으로 나눌 수 있습니다. 물론 서버와 클라이언트의 역할을 둘다 하는 프로그램을 만들 수도 있지만 그리 효율적인 방법은 아닙니다. 많은 사람들이 서버프로그램을 따로 만들어 놓고 다른 클라이언트들이 서버가 운영중일때 접속 할 수 있도록 하고 있습니다. 앞으로도 그런 방식으로 강좌를 진행할 겁니다. 그럼 서버는 무엇.. 더보기 이전 1 ··· 18 19 20 21 22 23 24 ··· 31 다음