Skip to content

kuyugama/encoder-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encoder-Protocol

Client-side

import protocol
import socket
import math


client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client.connect(("127.0.0.1", 19991))

data = protocol.serialize(123)

buffer = protocol.SocketBuffer(client, message_length_size=8)

buffer.write(data)

buffer.write_many(
    protocol.types.List([1, 2.0, "3", b"4", True, False]),
    protocol.types.Dict({1: 2, 3.0: 4, "5": 6, b"7": 8, True: False}),
    protocol.types.Float(math.pi),
)

Server-side

import protocol
import socket
import math

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server.bind(("127.0.0.1", 19991))

server.listen()

client, _addr = server.accept()

buffer = protocol.SocketBuffer(client, message_length_size=8)

data = protocol.deserialize(buffer.read())
assert data == 123

assert buffer.read(protocol.types.List) == [1, 2.0, "3", b"4", True, False]

assert buffer.read(protocol.types.Dict) == {
    1: 2,
    3.0: 4,
    "5": 6,
    b"7": 8,
    True: False,
}

assert buffer.read(protocol.types.Float) == math.pi

About

encoder-protocol allows serialize/deserialize python objects to bytes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages