Odmaskování dat WebSocket
Odmaskuj nejvýše 1048576 bajtů WebSocket čtyřbajtovým klíčem.
def unmask_payload(data, mask):
if type(data) is not bytes or len(data) > 1048576:
raise ValueError("mask.payload")
if type(mask) is not bytes or len(mask) != 4:
raise ValueError("mask.key")
return bytes(value ^ mask[index % 4]
for index, value in enumerate(data))Před použitím zkontrolujte
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Projekt
Ověř prázdná data a opakované pozice, odmítni jiné typy či délky a potvrď dvojí použití.
def unmask_payload(data, mask):
if type(data) is not bytes or len(data) > 1048576:
raise ValueError("mask.payload")
if type(mask) is not bytes or len(mask) != 4:
raise ValueError("mask.key")
return bytes(value ^ mask[index % 4]
for index, value in enumerate(data))Udržte bajtové transformace v jasných hranicích protokolu
SocketBrume je prostředí pro programování s AI ve Windows pro vývojáře pracující na nízkoúrovňových funkcích, o něž se opírají další vrstvy aplikace. Přineste soubory projektu a popište přesné bajty, které funkce přijímá a vrací. Před změnou implementace požádejte připojeného asistenta o kontrolu validace, transformace i volajícího. Kontext pomáhá odlišit užitečnou lokální úpravu od předpokladu patřícího jinam v protokolu.
Například úloha s unmask_payload.py může zkoumat použití čtyřbajtové masky na délkově omezenou posloupnost bajtů. Požádejte o známé případy vstupu a výstupu a vysvětlení kontrol, za které pomocná funkce odpovídá. Návrh prověřte bez předpokladu, že funkce také validuje rámce, spravuje připojení nebo interpretuje celou zprávu. Výslovné hranice usnadňují ověření změny.
Spusťte kontroly projektu s prázdnými daty, běžnými datovými obsahy a neplatnými maskami a prohlédněte předávání selhání okolnímu kódu. Pokud pozdější fáze výstup odmítne, vraťte tento důkaz do rozhovoru. SocketBrume podporuje koncové body modelů kompatibilní s OpenAI nebo koncové body Anthropic, podle potřeby s přihlašovacími údaji. Model AI bez omezení lze vybrat pouze tam, kde je nabízen; pravidla poskytovatele, podpora nástrojů a kapacita kontextu stále platí. Vaše bajtové příklady zůstávají referencí pro rozhodnutí o správnosti kódu.
Otázky ke změně zpracování bajtů
Co má obsahovat užitečný bajtový příklad?
Dodejte přesné vstupní bajty, masku či parametry a očekávané výstupní bajty. Omezení délky a typu uveďte samostatně. Návrh tak můžete mechanicky porovnat, místo abyste přijali popis, který jen zní v souladu s protokolem.
Validuje pomocná funkce datového obsahu celou zprávu?
Neodvozujte to z jediné transformace. Prohlédněte okolní parser a určete vrstvu kontrolující rámcování, délky a pravidla zpráv. Požadovanou změnu udržte v její odpovědnosti, pokud záměrně neplánujete širší úpravu.
Jak testovat prázdný datový obsah?
Určete, zda je prázdná posloupnost bajtů přijímána a jaký výstup vytváří. Toto chování ověřte nezávisle na neplatných parametrech, aby platný prázdný vstup omylem neobcházel požadovanou kontrolu masky nebo typu.
Mohu operaci ověřit bez živého připojení?
Známé případy vstupu a výstupu mohou transformaci ověřit nezávisle. Podle potřeby pak otestujte integraci v prostředí projektu. Izolace funkce usnadňuje určení, zda selhání pochází ze zpracování bajtů, nebo z okolního stavu protokolu.
SocketBrume · Aktualizováno 2026-10-25