Websockets
Websockets provide a way to establish a bidirectional communication channel between a client and a server over a single, long-lived connection. This allows real-time data transfer between the client and the server, making it ideal for applications like chat applications, live updates, and interactive gaming.
To work with websockets , you can use the websockets library, which is a mature, full-featured implementation of the WebSocket protocol for Python. Here's a basic example of how to create a WebSocket server and client using websockets:
WebSocket Server Example:
Python Code
import asyncio
import websockets
async def echo(websocket, path):
async for message in websocket:
await websocket.send(message)
async def main():
async with websockets.serve(echo, "localhost", 8765):
await asyncio.Future() # run forever
asyncio.run(main())
This example creates a WebSocket server that echoes back any messages it receives from clients.
WebSocket Client Example:
Python Code
import asyncio
import websockets
async def hello():
uri = "ws://localhost:8765"
async with websockets.connect(uri) as websocket:
await websocket.send("Hello, world!")
response = await websocket.recv()
print(response)
asyncio.run(hello())
This example creates a WebSocket client that connects to the server running on localhost at port 8765, sends a message, and prints the response from the server.
To install the websockets library, you can use pip:
Copy codepip install websockets
These examples demonstrate the basic usage of websockets . can build more complex applications by handling different events, managing multiple connections, and integrating websockets with other frameworks and libraries.