НАШ ЦИТАТНИК: «Формату light industrial, который включает современные офисно-производственные центры и склады последней мили, нужен ускоренный маршрут согласования – своего рода Fast Track для социально и экономически значимых проектов...» Феликс Зборовский

9 марта, 01:20

Server — O2jam

def data_received(self, data): self.buffer += data while len(self.buffer) >= 3: cmd, pkt_len = struct.unpack("!BH", self.buffer[:3]) if len(self.buffer) < 3 + pkt_len: break payload = self.buffer[3:3+pkt_len] self.buffer = self.buffer[3+pkt_len:] self.handle_packet(cmd, payload)

def send(cmd, data=b""): writer.write(struct.pack("!BH", cmd, len(data)) + data) o2jam server

class O2JamProtocol(asyncio.Protocol): def connection_made(self, transport): self.transport = transport self.peername = transport.get_extra_info('peername') print(f"Connected: self.peername") self.buffer = b"" def data_received(self, data): self

def get_session_user(self, payload): # In real scenario, extract session token from packet for u, info in users.items(): if info["session"] and info["session"] in str(payload): return u return None = 3: cmd