SOCKS гар барилт амжилттай боллоо. Одоо релей клиентээс уншиж, очих газар руу бичиж, бүрэн хариуг хүлээгээд, зөвхөн дараа нь клиентээс дахин уншина. Энэ дараалал бүрэн хүчинтэй програмыг түгжиж болно.

TCP туннель үүссэний дараа SOCKS түүний доторх мессежийг тодорхойлохгүй. Очих газар эхлээд илгээж болно. Хоёр тал бие даан илгээж болно. Нэг тал богино бичлэг илгээгээд нөгөө талын хариуг хүлээж болно.

Таамагласан гүйлгээ биш, байт дамжуул

Хүлээн авах дуудлага нь флаг, сокетын төлөвөөс хамааран боломжтой байтуудыг буцаана. Энэ нь ерөнхий релейд програмын хариу дууссан гэж хэлэхгүй. Дурын том буфер дүүрэхыг хүлээх нь нөгөө талд үргэлжлүүлэхэд шаардлагатай жижиг мессежийг дамжуулахад саад болж болно.

Хоёр чиглэлийг үйлчлэхдээ програмын одоо байгаа зэрэгцээ байдлын загварыг ашигла: үйл явдлын давталт, асинхрон I/O эсвэл өөр санаатайгаар сонгосон загвар. Нэг чиглэлийн ахиц нөгөө чиглэлд зохиомол мессежийн хил шаарддаггүй байх нь чухал.

Хоёр хязгаарлагдмал хүлээгдэж буй буфер хадгал

Клиентээс уншсан өгөгдөл очих газартаа хүрэхийг хүлээж байж болох бол очих газраас ирсэн өгөгдөл клиентэд хүрэхийг хүлээж байна. Тэдгээр хүлээгдэж буй байтуудыг тусад нь хяна.

Илгээх нь хүссэнээс цөөн байт бичиж болно. Бичигдээгүй хэсгийг хадгал; бүү хая, бүх буферийг дахин бүү тоглуул. Түр бичих боломжгүй сокет нь зөв бэлэн байдлын үйл явдлыг хүлээх шалтгаан бөгөөд тасралтгүй эргэлдэх шалтгаан биш.

Буферуудыг хязгаарла. Хэрэв очих газар удаан бол клиентийн өгөгдлийг хязгааргүй уншиж байх нь дарааллыг релейн санах ой руу зүгээр л шилжүүлнэ. Буцах даралт гэдэг нь харгалзах хүлээгдэж буй буфер дүүрэх үед уншилтыг зогсоож, бичилт зай гаргах үед үргэлжлүүлэхийг хэлнэ.

Нэг чиглэлийн төгсгөлд бодлого хэрэгтэй

Нөгөө чиглэлд ашигтай өгөгдөл байхад TCP илгээх чиглэлийг хааж болно. Буферлэгдсэн байтууд шингэсний дараа тэр нөхцөл байдлыг хэрхэн дамжуулахыг шийдэж, эмх цэгцтэй хаалтыг алдаа эсвэл хугацаанаас ялга.

Энэ бүгд релейг програмын ачааг тайлах эсвэл задлан шинжлэхийг шаарддаггүй. Зөв урсгалын боловсруулалт хэрэгтэй. Зөвхөн буферийн хэмжээг нэмэгдүүлэх нь буруу талыг хүлээдэг эсвэл уншилт бүрийг нэг бүхэл хүсэлт гэж үздэг релейг засахгүй.

Холбоотой нийтлэлүүд