.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "SSL_CONNECT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CONNECT 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم SSL_connect \- بدء مصافحة TLS/SSL مع خادم TLS/SSL .SH موجز .IX Header موجز .Vb 1 \& #include \& \& int SSL_connect(SSL *ssl); .Ve .SH الوصف .IX Header الوصف \&\fBSSL_connect()\fP تبدأ مصافحة TLS/SSL مع خادم. يجب أن تكون قناة الاتصال قد أُنشئت بالفعل وأُسندت إلى \fBssl\fP عبر تعيين \fBBIO\fP أساسي. \fBssl\fP \fBيجب ألا\fP يكون NULL. .SH ملاحظات .IX Header ملاحظات يعتمد سلوك \fBSSL_connect()\fP على BIO الأساسي. .PP إذا كان BIO الأساسي \fBblocking\fP، فإن \fBSSL_connect()\fP لن تُرجع إلا بعد انتهاء المصافحة أو حدوث خطأ. .PP إذا كان BIO الأساسي \fBnonblocking\fP، فإن \fBSSL_connect()\fP ستعود أيضًا عندما لا يستطيع BIO الأساسي تلبية احتياجات \fBSSL_connect()\fP لمواصلة المصافحة، مع الإشارة إلى المشكلة بقيمة الإرجاع \-1. في هذه الحالة، سينتج عن استدعاء \fBSSL_get_error()\fP بقيمة إرجاع \fBSSL_connect()\fP إما \fBSSL_ERROR_WANT_READ\fP أو \&\fBSSL_ERROR_WANT_WRITE\fP. يجب على العملية المستدعية تكرار الاستدعاء بعد اتخاذ الإجراء المناسب لتلبية احتياجات \fBSSL_connect()\fP. يعتمد الإجراء على BIO الأساسي. عند استخدام مقبس غير محظور، لا يُفعل شيء، لكن يمكن استخدام \fBselect()\fP للتحقق من الشرط المطلوب. عند استخدام BIO مخبئ، مثل زوج BIO، يجب كتابة البيانات في BIO أو استرجاعها منه قبل القدرة على المتابعة. .PP تنفذ العديد من الأنظمة خوارزمية Nagle مبدئيًا، مما يعني أنها ستخزن بيانات TCP الصادرة مؤقتًا إذا أُرسلت حزمة TCP بالفعل ولم يُستلم ACK مقابل لها بعد من النظير. يمكن أن يؤثر هذا على الأداء بعد مصافحة TLSv1.3 ناجحة أو مصافحة استئناف TLSv1.2 (أو أقل) ناجحة، لأن آخر نظير يتواصل في المصافحة هو العميل. إذا كان العميل هو أيضًا أول من يُرسل بيانات التطبيق (كما هو معتاد للعديد من البروتوكولات)، فقد تُخزن هذه البيانات مؤقتًا حتى يُستلم ACK لرسالة المصافحة النهائية. .PP غالبًا ما يكون خيار المقبس \fBTCP_NODELAY\fP متاحًا لتعطيل خوارزمية Nagle. إذا اختار تطبيق تعطيل خوارزمية Nagle، فيجب النظر في إعادة تشغيلها لاحقًا إذا كان ذلك مناسبًا. يمكن استخدام الدالة المساعدة \fBBIO_set_tcp_ndelay()\fP لتشغيل أو إيقاف خيار \fBTCP_NODELAY\fP. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" يمكن أن تحدث قيم الإعادة التالية: .IP 0 4 لم تكن مصافحة TLS/SSL ناجحة ولكن أُنهيت بشكل مضبوط وبموجب مواصفات بروتوكول TLS/SSL. استدعِ \fBSSL_get_error()\fP مع قيمة الإرجاع \fBret\fP لمعرفة السبب. .IP 1 4 .IX Item 1 اكتملت مصافحة TLS/SSL بنجاح، وأُنشئ اتصال TLS/SSL. .IP <0 4 .IX Item <0 لم تنجح مصافحة TLS/SSL، بسبب حدوث خطأ فادح إما على مستوى البروتوكول أو حدوث فشل في الاتصال. لم يكن الإغلاق نظيفًا. يمكن أن يحدث هذا أيضًا إذا كان الإجراء مطلوبًا لمواصلة العملية لـ BIOs غير محظورة. استدع \fBSSL_get_error()\fP بقيمة الإرجاع \fBret\fP لمعرفة السبب. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBSSL_get_error\fP\|(3), \fBSSL_accept\fP\|(3), \&\fBSSL_shutdown\fP\|(3), \fBssl\fP\|(7), \fBbio\fP\|(7), \&\fBSSL_set_connect_state\fP\|(3), \&\fBSSL_do_handshake\fP\|(3), \&\fBSSL_CTX_new\fP\|(3) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2020 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .