වලංගු ප්‍රොක්සි ලිපිනයක් අතින් ලියූ SOCKS පණිවිඩයක් වලංගු නොකරයි. C හෝ C++ struct යැවීමෙන් ප්‍රොටොකොලය කිසිදා ඉල්ලා නොසිටි padding හෝ host අනුපිළිවෙලෙහි පූර්ණ සංඛ්‍යා යැවිය හැක.

SOCKS5 ඩොමේන්-නාම CONNECT ඉල්ලීමක් සඳහා, ක්‍රම සාකච්ඡාව සහ තෝරාගත් ඕනෑම සත්‍යාපනයකින් පසු මෙම අනුපිළිවෙල පැහැදිලිව අනුක්‍රමික කරන්න:

  1. අනුවාදය, විධානය, වෙන් කළ බයිටය සහ ලිපින වර්ගය
  2. ඩොමේන් දිග සහ ඩොමේන් බයිට්
  3. ජාල බයිට් අනුපිළිවෙලෙහි බයිට දෙකක ගමනාන්ත තොට

ලිපින දිග SOCKS අනුවාදය සහ ලිපින වර්ගය මත රඳා පවතී. ස්ථාවර පළලැති සංඛ්‍යාත්මක ක්ෂේත්‍රවලට ඒවායේ නිර්දිෂ්ට නිරූපණය අවශ්‍යය; ඩොමේන් තන්තුවලට තමන්ගේම දිග කේතනයක් ඇත. C තන්තු අවසන් කරන ලකුණ wire පණිවිඩයට බිංදුවක් එකතු කිරීමේ පොදු උපදෙසක් නොවේ.

ක්‍රියාත්මක කිරීමේ කෙටි මාර්ගයපරීක්ෂා කළ යුතු ගැටලුව
8-බිට් දර්ශකයක් හරහා 32-බිට් අගයක් පැවරීමඑය බයිට හතරම නිකුත් නොකරයි
buffer එකක් විශාල පූර්ණ සංඛ්‍යා දර්ශකයකට වෙනස් කිරීමපෙළගැස්ම සහ බයිට් අනුපිළිවෙල තවමත් හැසිරවිය යුතුය
එක් කියවීමක් හෝ ලිවීමක් එක් පණිවිඩයක් යැයි උපකල්පනය කිරීමTCP හට ප්‍රොටොකොල අනුපිළිවෙලෙන් කොටසක් පමණක් මාරු කළ හැක

එක් එක් ක්ෂේත්‍රය අපේක්ෂිත ගමනාන්තය සමඟ සසඳා අර්ධ I/O හසුරුවන්න. බයිට දෙකක් ලැබීමෙන් සම්පූර්ණ පිළිතුර ආවේ යැයි ඔප්පු නොවේ. එම සීමා පරීක්ෂා කිරීමෙන් විකෘත ඉල්ලීමක් නිවැරදිව විස්තර කළ සම්බන්ධතාවය ප්‍රතික්ෂේප කරන සේවාදායකයෙකුගෙන් වෙන් කළ හැක.

අදාළ ලිපි