Server classes

Each server has a corresponding client, which is created automatically when a new connection is made.

SocketServer

This is a low-level socket server which reads and writes bytes.

class mara.servers.socket.SocketServer(host: str = '127.0.0.1', port: int = 9000)

Bases: AbstractSocketServer

client_class

alias of SocketClient

class mara.servers.socket.SocketClient(server: AbstractServer, reader: asyncio.StreamReader, writer: asyncio.StreamWriter)

Bases: SocketMixin, AbstractClient[bytes]

Read and write bytes

TextServer

This wraps the SocketServer to read and write text str.

class mara.servers.socket.TextServer(host: str = '127.0.0.1', port: int = 9000)

Bases: AbstractSocketServer

client_class

alias of TextClient

class mara.servers.socket.TextClient(server: AbstractServer, reader: asyncio.StreamReader, writer: asyncio.StreamWriter)

Bases: SocketMixin, AbstractClient[str]

Read and write unicode over an underlying byte socket

write(data: str, *, end: str = '\r\n')

Write to the outbound queue