[파이썬] 소켓 연결 및 연결 해제

소켓(Socket)이란?

소켓은 네트워크 통신을 위한 엔드포인트로, 서로 다른 호스트 간에 통신을 가능하게 해주는 기술입니다. 소켓을 사용하여 데이터를 송수신하고, 연결을 설정하고 해제할 수 있습니다. 이번 글에서는 Python을 사용하여 소켓 연결 및 연결 해제하는 방법을 알아보겠습니다.

소켓 연결(Socket Connection) 설정하기

Python에서 소켓을 사용하기 위해서는 socket 모듈을 import해야 합니다. 다음 코드를 통해 소켓 연결을 설정할 수 있습니다.

import socket

# 소켓 생성
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 호스트와 포트 지정
host = 'localhost'  # 호스트 이름
port = 12345  # 포트 번호

# 서버에 연결하기
s.connect((host, port))

# 연결 성공 메시지 출력
print('Connected to', host, 'on port', port)

위 코드에서 AF_INET은 IPv4 주소 체계를 사용하고, SOCK_STREAM은 TCP 소켓을 의미합니다. 소켓을 생성한 후, connect() 함수를 사용하여 서버에 연결할 수 있습니다.

소켓 연결 해제(Socket Disconnection)하기

소켓 연결 해제는 연결된 소켓 객체의 close() 함수를 호출하여 수행할 수 있습니다. 다음은 소켓 연결 해제하는 코드입니다.

# 소켓 연결 해제하기
s.close()

# 연결 해제 메시지 출력
print('Socket disconnected')

위 코드에서 close() 함수를 호출하여 소켓 연결을 해제할 수 있습니다. 연결 해제 후에는 필요에 따라 추가적인 작업을 수행할 수 있습니다.

성공적인 소켓 연결 및 연결 해제

다음과 같이 소켓 연결 및 연결 해제를 정상적으로 수행하는 예제 코드를 제시합니다.

import socket

def connect_socket():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    host = 'localhost'
    port = 12345
    s.connect((host, port))
    print('Connected to', host, 'on port', port)
    return s

def disconnect_socket(s):
    s.close()
    print('Socket disconnected')

# 소켓 연결 실행
socket_obj = connect_socket()

# 소켓 연결 해제 실행
disconnect_socket(socket_obj)

위의 코드를 실행하면, 정상적으로 소켓 연결과 연결 해제가 수행되는 것을 확인할 수 있습니다.

이렇게 Python을 사용하여 소켓 연결 및 연결 해제를 수행할 수 있습니다. 네트워크 통신을 위한 소켓은 다양한 기능을 제공하므로, 활용하는 방법을 익혀두면 유용하게 사용할 수 있습니다.