פֿאַר וואָס אַ C סטרוקטור קען פּראָדוצירן אַ שלעכט SOCKS בקשה
באַטראַכט די עקספּליציטע פֿעלד־ברייטנס, ביט־סדר און סטרים I/O אַנשטאָט אָננעמען דעם קאָמפּילער־צוזאַמענשטעל ווי דעם דראָט־פֿאָרמאַט.
אַ גילטיקע פּראָקסי־אַדרעס מאַכט נישט קיין האַנט־געשריבן SOCKS־מעלדונג גילטיק. שיקן אַ C אָדער C++ סטרוקטור קען שיקן פּאַדינג אָדער גאַנצע צאָלן אין האָסט־סדר וואָס דער פּראָטאָקאָל האָט קיינמאָל נישט געבעטן.
פֿאַר אַ SOCKS5 CONNECT־בקשה מיט אַ דאָמען־נאָמען, סעריאַליזירט די סעקווענץ עקספּליציט נאָך דער מעטאָד־פֿאַרהאַנדלונג און יעדער אויסגעקליבענער אויטענטיפֿיקאַציע:
- ווערסיע, באַפֿעל, רעזערווירטער ביט און אַדרעס־טיפּ
- דאָמען־לענג און דאָמען־ביטס
- דער צוויי־ביטיקער ציל־פּאָרט אין נעץ־ביט־סדר
אַדרעס־לענגען הענגען אָפּ פֿון דער SOCKS־ווערסיע און דעם אַדרעס־טיפּ. נומערישע פֿעלדער מיט פֿעסטער ברייט דאַרפֿן זייער באַשטימטער פֿאָרשטעלונג; דאָמען־שטריקן האָבן זייער אייגענע לענג־קאָדירונג. אַ C־שטריק־ענדיקער איז נישט קיין אַלגעמיינע אָנווייזונג צוצוגעבן אַ נול צו דער דראָט־מעלדונג.
| אַ קורץ וועג אין דער פּירוען | פּראָבלעם צו פּריפן |
|---|---|
| צוטיילן אַ 32־ביטיקן ווערט דורך אַ 8־ביטיקן ווייזער | עס גיט נישט אַרויס אַלע פֿיר ביטס |
| איבערגיסן אַ בופֿער צו אַ ווייזער פֿון אַ גרעסערן גאַנצן צאָל | אויסגלייכונג און ביט־סדר דאַרף נאָך אַלץ באַהאַנדלט ווערן |
| אָננעמען אַז איין לייענען אָדער שרײַבן איז איין מעלדונג | TCP קען איבערפֿירן נאָר אַ טייל פֿון דער פּראָטאָקאָל־סעקווענץ |
פֿאַרגלײַך יעדעס פֿעלד מיט דעם געמיינטן ציל און באַהאַנדל טיילווײַז I/O. אַז מען באַקומט צוויי ביטס באַווײַזט נישט אַז די גאַנצע ענטפֿער איז אָנגעקומען. באַטראַכטן די גרענעצן קען אונטערשיידן אַ פֿאַרדרייטע בקשה פֿון אַ סערווער וואָס אָפּזאָגט אַ ריכטיק באַשרייַבטע פֿאַרבינדונג.