반응형

안녕하세요

알고리즘을 공부하는 개발자 Henry입니다~

 

오늘은 파이썬을 통해 서버와 클라이언트를 만들고 통신하는 방법을 공부했습니다.

 

 

최근들어 파이썬 클린코드 라는 책을 읽으면서 

파이썬스러운(Pythonic) 코드를 짜는 것이 얼마나 중요한지에 대해서 깨닫는 중입니다.

 

 

우선 통신이란!

 

서버 - 클라이언트 사이에 데이터를 오고 가는 것을 의미합니다.

 

최소 2개의 Peer가 있어야 하는 것이지요.

 

 

파이썬에서는 socket이라는 패키지를 사용합니다.

 

서버측 플로우

 

1. 먼저 소켓 객체를 생성합니다.

 

2. bind라는 함수를 통해 생성한 소켓을 특정 호스트와 포트에 연결합니다.(길을 만들어주는 느낌으로 이해하면 됩니다.)

 

3. listen이라는 함수를 통해 클라이언트의 접속을 허용시켜줍니다

 

4. accept 함수를 통해 클라이언트의 요청이 올 때까지 기다립니다. (accept는 클라이언트 소켓과 주소를 반환해줍니다.)

>> client_socket, addr = server_socket.accept()= sㅇerver_socket.accept()

 

5. 반환된 클라이언트 소켓(client_socket)의 recv라는 함수를 통해 데이터를 받아옵니다.

 

 

클라이언트측 플로우

 

1. 먼저 소켓 객체를 생성합니다.

 

2. connect 함수를 통해 서버측 소켓과 연결합니다.

 

3. sendall 함수를 통해 메세지를 전송합니다.

 

 

위의 내용을 하나의 그림으로 정리하면 아래와 같습니다.

 

 

아래 블로그를 참고하며 공부하였습니다.

webnautes.tistory.com/1381

 

파이썬 소켓 프로그래밍 - 클라이언트 / 서버 예제

파이썬에서 소켓을 사용한 TCP 서버/클라이언트 예제에 대해 다룹니다. 클라이언트가 서버에 접속하여 통신이 시작되는 방식입니다.  1. TCP 소켓 2. 간단한 에코 서버, 클라이언트 예제 3. 쓰레드

webnautes.tistory.com

 

 

반응형

+ Recent posts