WebSocket in을 통해 메시지 보내기 및 받기 Python

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. 이를 통해 서버와 클라이언트 간에 실시간 애플리케이션 및 지속적인 데이터 교환을 생성할 수 있는 가능성이 열립니다.