מדוע מאפיין CFStream SOCKS שנקבע באיחור עלול להידחות
החילו מאפייני זרם ניתנים להגדרה לפני הפתיחה, בדקו את הקבלה והבחינו בין התחלת הזרם לבין השלמת משא ומתן ה-proxy.
קריאה חוזרת בשם “will connect” אינה הוכחה שה-CFStream עדיין ניתן להגדרה. החוזה של Apple ל-CFReadStreamSetProperty אומר שיש להניח שיש לקבוע מאפיינים לפני הפתיחה, אלא אם התיעוד שלהם עצמו אומר אחרת.
באינטגרציית זרם קיימת, שמרו על הרצף יחד: צרו את הזרם/הזוג, בנו את מילון ה-SOCKS בטיפוסים הנכונים, קבעו את המאפיין המתאים ובדקו את התוצאה הבוליאנית שלו, ואז רשמו אירועים והתחילו לפתוח.
תוצאה false היא כשל תצורה, לא מסלול מותקן. בדקו סוג זרם, מפתח מאפיין, סוגי ערכי המילון ומחזור החיים לפני שתמשיכו.
בסידור מונחה אירועים, הפתיחה יכולה להתחיל בלי שהמשא ומתן הסתיים. התבוננו באירועי מצב ושגיאה לפני שאתם מתייחסים לחיבור כאל שמיש.
אם ספרייה אחרת מחזיקה בזרם, השתמשו ב-hook המתועד שלה לפני הפתיחה. קריאה חוזרת שמגיעה רק מאוחר יותר עשויה להיות נקודת האינטגרציה הלא נכונה. שינוי מאפיינים בזרם שכבר פתוח אינו יכול להעביר את החיבור הקיים ל-SOCKS.