คอลแบ็กที่ชื่อ “will connect” ไม่ใช่หลักฐานว่า CFStream ยังกำหนดค่าได้ สัญญา CFReadStreamSetProperty ของ Apple กล่าวว่าต้องสันนิษฐานว่าพร็อพเพอร์ตีถูกตั้งค่าก่อนเปิด เว้นแต่เอกสารของพร็อพเพอร์ตีเองจะระบุเป็นอย่างอื่น

สำหรับการผสานสตรีมที่มีอยู่ ให้คงลำดับไว้ด้วยกัน: สร้างสตรีม/คู่ สร้างดิกชันนารี SOCKS ที่มีชนิดถูกต้อง ตั้งพร็อพเพอร์ตีที่เหมาะสมและตรวจสอบผลลัพธ์แบบบูลีน จากนั้นลงทะเบียนเหตุการณ์และเริ่มเปิด

ผลลัพธ์ false คือความล้มเหลวของการกำหนดค่า ไม่ใช่เส้นทางที่ติดตั้งแล้ว ตรวจสอบชนิดสตรีม คีย์พร็อพเพอร์ตี ชนิดค่าของดิกชันนารี และวงจรชีวิตก่อนดำเนินการต่อ

ในการจัดวางที่ขับเคลื่อนด้วยเหตุการณ์ การเปิดอาจเริ่มได้โดยที่การเจรจายังไม่เสร็จสิ้น สังเกตเหตุการณ์สถานะและข้อผิดพลาดก่อนถือว่าการเชื่อมต่อใช้งานได้

หากไลบรารีอื่นเป็นเจ้าของสตรีม ให้ใช้ฮุกก่อนเปิดที่จัดทำเอกสารไว้ หากคอลแบ็กที่มาช้าเกินไปอาจเป็นจุดผสานที่ไม่ถูกต้อง การเปลี่ยนพร็อพเพอร์ตีบนสตรีมที่เปิดอยู่แล้วไม่สามารถย้ายการเชื่อมต่อที่มีอยู่นั้นไปยัง SOCKS ได้

บทความที่เกี่ยวข้อง