[python] 모듈과 패키지를 사용한 네트워크 프로그래밍 예시

네트워크 프로그래밍을 할 때 파이썬의 모듈과 패키지를 활용하면 작업을 효율적으로 수행할 수 있습니다. 이번에는 네트워크 프로그래밍을 위해 어떻게 모듈과 패키지를 사용하는지 알아보겠습니다.

모듈과 패키지

파이썬에서 모듈은 파이썬 정의와 문장들을 담고 있는 파일입니다. 모듈은 .py 확장자를 가집니다. 패키지는 여러 모듈들을 모아놓은 것으로, 계층적으로 구성되어 있습니다. 패키지 안에는 __init__.py 파일이 있어야 하며, 이 파일은 해당 폴더를 패키지로 인식하도록 합니다.

네트워크 프로그래밍 예시

네트워크 프로그래밍을 위해 socket 모듈을 사용할 수 있습니다. socket 모듈은 네트워크 통신을 위한 기본적인 기능을 제공합니다.

서버 예시

import socket

# 서버 소켓 생성
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 12345))  # IP 주소와 포트를 지정
server_socket.listen(1)  # 클라이언트의 연결을 기다림

# 클라이언트 요청 대기
client_socket, addr = server_socket.accept()
print('클라이언트가 접속했습니다:', addr)

# 클라이언트에게 메시지 보내기
client_socket.sendall('환영합니다!'.encode())

# 연결 종료
client_socket.close()

클라이언트 예시

import socket

# 클라이언트 소켓 생성
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('localhost', 12345))  # 서버의 IP 주소와 포트에 연결

# 서버로부터 메시지 받기
data = client_socket.recv(1024)
print('서버로부터 받은 메시지:', data.decode())

# 연결 종료
client_socket.close()

이처럼, socket 모듈을 이용하여 간단한 네트워크 통신 프로그램을 만들 수 있습니다.

모듈과 패키지를 적절히 사용하면 네트워크 프로그래밍을 보다 효과적으로 할 수 있습니다. 파이썬의 강력한 라이브러리를 활용하여 다양한 네트워크 응용프로그램을 구현할 수 있습니다.

참고 자료