Quick Start¶
Basic echo server¶
Server:
from veltix import Server, ServerConfig, MessageType, Request, ClientInfo, Response
ECHO = MessageType(code=200, name="echo")
server = Server(ServerConfig(host="0.0.0.0", port=8080))
@server.route(ECHO)
def on_echo(client: ClientInfo, response: Response) -> None:
reply = Request(ECHO, response.content, request_id=response.request_id)
server.get_sender().send(reply, client=client.conn)
server.start()
input("Press Enter to stop...")
server.close_all()
Client:
from veltix import Client, ClientConfig, MessageType, Request, Response
ECHO = MessageType(code=200, name="echo")
client = Client(ClientConfig(server_addr="127.0.0.1", port=8080))
@client.route(ECHO)
def on_echo(response: Response) -> None:
print(response.content.decode())
client.connect() # blocks until handshake is complete
client.get_sender().send(Request(ECHO, b"Hello!"))
input("Press Enter to disconnect...")
client.disconnect()
Send and wait¶
request = Request(ECHO, b"Hello!")
response = client.send_and_wait(request, timeout=5.0)
if response:
print(f"Got: {response.content.decode()}")
else:
print("Timeout")