요즘 아이펠 해커톤을 준비하느라 라즈베리 파이도 같이 공부 중에 있습니다.
아주 띄엄띄엄 공부하고 있기 때문에 잘하는 편은 아닙니다.
그래도 코드가 직접 눈에 현상으로 보여진다는 것은 큰 매력이네요.
오늘은 소켓 통신에 대해 정리하고 스크랩하겠습니다.
공부하려고 적는 글이며, 실제 실행은 수요일쯤에나 가능하지 않을까합니다.
얼른 해보고 싶네요.
<서버(server)>
1. 우선 socket() 함수를 이용해 소켓을 생성한다.
2. 그리고 bind() 함수로 ip와 port 번호를 설정한다.
3. listen() 함수로 클라이언트의 접근 요청에 수신 대기열을 만들어 몇 개의 클라이언트를 대시 시킬지 결정한다.
4. accept() 하ㅏㅁ수를 사용하여 클라이언트와의 연결을 기다린다.
<클라이언트(client)>
1. socket() 함수로 가장 먼저 소켓을 연다.
2. connect() 함수를 이용해서 통신할 서버의 설정된 ip와 port 번호에 통신을 시도한다.
3. 통신을 시도할 때, 서버가 accept() 함수를 이용하여 클라이언트의 socket descriptor를 반환한다.
4. 이를 통해 클라이언트와 서버가 서로 read(), write()를 하며 통신한다.
5. 이 과정이 반복된다.
아래는 "soket" 패키지를 설치해서 통신하는 방법입니다.
이만 점심시간이니 가봐야겠네요.
짧게나마 소켓 통신에 대해 알아봤습니다.
수요일에 시도해봤을 때 꼭 성공하길...!