ביישום שמתחזק קוד CFStream, בחרו את מאפיין ה-proxy לפי סוג הזרם המוגדר. לזרם בקשת HTTP יש טיפול בפרוטוקול שזרם שקע רגיל אינו מקבל רק ממילון המאפיינים שלו.

החיבור הנבנההתצורה המתועדת
HTTP CFStream דרך proxy HTTPkCFStreamPropertyHTTPProxy
CFStream דרך proxy SOCKSkCFStreamPropertySOCKSProxy

Apple מתארת את מאפיין ה-HTTP באופן ספציפי כהגדרה של HTTP CFStream. זרם כזה יכול להיווצר מבקשת CFHTTPMessage עם CFReadStreamCreateForHTTPRequest. פתיחת הזרם הזה ממירה את בקשת ה-HTTP לרצף ושולחת אותה.

מאפיין SOCKS מקבל CFDictionary המכיל לפחות את מפתחות המארח והפורט של proxy SOCKS. זהו המאפיין הציבורי המתאים לטיפול ב-SOCKS על CFStream. לבדיקת TCP ציבורית מותרת ללא אישורי proxy, רשימת ה-proxy של SOCKS מציעה ערכי מארח ופורט מועמדים עבור המילון הזה. התאימו לפרוטוקול שהזרם תומך בו ואמתו גישה ליעד ולפורט בפועל.

החילו את המאפיין שנבחר לפני פתיחת הזרם ובדקו את התוצאה הבוליאנית של הקריאה לקביעת המאפיין. מאפיין שנדחה יכול להעיד שהזרם או הערך אינם תומכים בתצורה המבוקשת.

לתעבורת TCP שרירותית דרך proxy HTTP, השתמשו במחבר שמבצע את משא ומתן ה-CONNECT הנדרש. משא ומתן זה הוא עבודת פרוטוקול; יצירת זרם גולמי רק לכתובת ה-proxy לא ביצעה אותו.

מאמרים קשורים