Яагаад C бүтэц муу SOCKS хүсэлт үүсгэж болох вэ
Компиляторын зохион байгуулалтыг сүлжээний формат гэж үзэхийн оронд талбарын өргөн, байтын дараалал, урсгалын I/O-г шалгаарай.
Хүчинтэй прокси хаяг нь гараар бичсэн SOCKS мессежийг хүчинтэй болгодоггүй. C эсвэл C++ бүтэц илгээх нь протокол хэзээ ч шаардаагүй дүүргэлт эсвэл хост дарааллын бүхэл тоог илгээж болно.
SOCKS5 домайн нэртэй CONNECT хүсэлтийн хувьд аргын хэлэлцээр болон сонгосон баталгаажуулалтын дараа энэ дарааллыг тодорхой сериалчилна уу:
- Хувилбар, команд, нөөцлөсөн байт, хаягийн төрөл
- Домайны урт ба домайны байтууд
- Сүлжээний байт дарааллаар хоёр байтын очих порт
Хаягийн урт нь SOCKS хувилбар ба хаягийн төрлөөс хамаарна. Тогтмол өргөнтэй тоон талбаруудад тэдний тодорхой дүрслэл хэрэгтэй; домайн мөрүүд өөрийн уртын кодчилолтой. C мөрийн төгсгөгч нь сүлжээний мессежид тэг нэмэх ерөнхий заавар биш.
| Хэрэгжүүлэлтийн товч зам | Шалгах асуудал |
|---|---|
| 32 битийн утгыг 8 битийн заагчаар оноох | Энэ нь бүх дөрвөн байтыг гаргахгүй |
| Буферыг илүү том бүхэл тооны заагч руу хөрвүүлэх | Зэрэгцүүлэлт ба байтын дарааллыг боловсруулах шаардлагатай хэвээр |
| Нэг уншилт эсвэл бичилт нь нэг мессеж гэж таамаглах | TCP нь протоколын дарааллын зөвхөн нэг хэсгийг дамжуулж чадна |
Талбар бүрийг зорьсон очих газартай харьцуулж, хэсэгчилсэн I/O-г боловсруулна уу. Хоёр байт хүлээн авсан нь бүх хариулт ирснийг батлахгүй. Эдгээр хилийг шалгах нь гажиг хүсэлтийг зөв тодорхойлсон холболтыг татгалзсан серверээс ялгаж чадна.