WebSocket 통신을 통해 서버와 클라이언트 간에 실시간 메시지를 보내고 받을 수 있습니다. Python 다음은 라이브러리를 사용 하여 이를 달성하는 방법에 대한 자세한 안내입니다 websockets
.
WebSocket 1단계: 라이브러리 설치
먼저 websockets
다음 명령을 실행하여 라이브러리를 설치합니다 terminal.
pip install websockets
2단계: 서버에서 메시지 보내기 및 받기
다음은 서버에서 메시지를 보내고 받는 방법의 예입니다 WebSocket.
import asyncio
import websockets
# WebSocket connection handling function
async def handle_connection(websocket, path):
async for message in websocket:
await websocket.send(f"Server received: {message}")
# Initialize the WebSocket server
start_server = websockets.serve(handle_connection, "localhost", 8765)
# Run the server within the event loop
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
코드 조각에서:
-
async def handle_connection(websocket, path):
: 이 함수는 WebSocket 연결을 처리합니다. 클라이언트가 메시지를 보내면 이 함수는 응답을 수신하고 다시 보냅니다. -
async for message in websocket:
: 이 루프는 연결을 통해 클라이언트의 메시지를 수신합니다 WebSocket. -
await websocket.send(f"Server received: {message}")
: 이 함수는 연결을 통해 서버에서 클라이언트로 다시 응답을 보냅니다 WebSocket.
3단계: 클라이언트에서 메시지 보내기 및 받기
다음은 클라이언트가 서버에서 메시지를 보내고 받는 방법의 예입니다 WebSocket.
import asyncio
import websockets
async def send_and_receive():
async with websockets.connect("ws://localhost:8765") as websocket:
await websocket.send("Hello, WebSocket!")
response = await websocket.recv()
print("Received:", response)
asyncio.get_event_loop().run_until_complete(send_and_receive())
코드 조각에서:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: 클라이언트가 서버에 연결하는 방법입니다 WebSocket.localhost
클라이언트는 주소 및 포트 에 대한 연결을 설정합니다8765
. -
await websocket.send("Hello, WebSocket!")
: 클라이언트가 서버에 메시지를 보냅니다.Hello, WebSocket!
-
response = await websocket.recv()
: 클라이언트는 연결을 통해 서버로부터 응답을 받기를 기다립니다 WebSocket.
결론
단계를 따르고 예제의 각 부분을 이해함으로써 WebSocket in 을 통해 메시지를 보내고 받는 방법을 성공적으로 배웠습니다 Python. 이를 통해 서버와 클라이언트 간에 실시간 애플리케이션 및 지속적인 데이터 교환을 생성할 수 있는 가능성이 열립니다.