This vagueness is quite deliberate. Sockets is a very powerful interface. While most people perhaps think of it as nothing more than the Internet interface—and most applications probably use it for that nowadays—sockets can be used for just about <emphasis>any</emphasis> kind of interprocess communications, of which the Internet (or, more precisely, <acronym>IP</acronym>) is only one.
این ابهام کاملاً حسابشده است. سوکتها یک رابط بسیار قدرتمند هستند. گرچه اکثر مردم احتمالاً فکر میکنند چیزی بیشتر از رابط اینترنت نیست و بیشتر برنامهها امروزه بدان خاطر از آن استفاده میکنند، سوکتها میتوانند برای <emphasis>هر</emphasis> نوع از ارتباطات بینپردازشی استفاده شوند، که اینترنت (یا، بهگفتهای دقیقتر، <acronym>IP</acronym>) فقط یک نمونه است.
Please note the <emphasis>vagueness</emphasis> with which the <varname>sa_data</varname> field is declared, just as an array of <constant>14</constant> bytes, with the comment hinting there can be more than <constant>14</constant> of them.
خواهشمند است به <emphasis>ابهام</emphasis> در تعریف بخش <varname>sa_data</varname>، بهعنوان آرایهای از <constant>۱۴</constant> بایت، با توضیحی در اشاره به اینکه در آنجا میتواند بیش از <constant>۱۴</constant> مقدار باشد، توجه بفرمایید.
Various functions of the sockets family expect the address of (or pointer to, to use C terminology) a small area of the memory. The various C declarations in the <filename>sys/socket.h</filename> refer to it as <varname>struct sockaddr</varname>. This structure is declared in the same file:
توابع مختلف خانوادهٔ سوکتها نشانی (یا با استفاده از اصطلاحات C، اشارهگر) منطقهٔ کوچکی از حافظه را میخواهند. تعاریف مختلف C در <filename>sys/socket.h</filename> به آن بهعنوان <varname>struct sockaddr</varname> اشاره میکنند. این ساختار در همان پرونده تعریف میشود:
This is on purpose: To use a telephone analogy, we have just attached a modem to the phone line. We have neither told the modem to make a call, nor to answer if the phone rings.
این تعمدی است: برای استفاده از تمثیلی تلفنی، ما تنها مودم را به خط تلفن وصل کردهایم. ما نه به آن گفتهایم که تماس برقرار کند و نه گفتهایم در صورت زنگ پاسخ دهد.
Nowhere, in the <function>socket</function> function have we specified to what other system we should be connected. Our newly created socket remains <emphasis>unconnected</emphasis>.
هیچکجای تابع <function>socket</function> مشخص نکردیم که به چه سامانهٔ دیگری باید متصل شویم. سوکت تازه ایجاد شدهٔ ما <emphasis>نامتصل</emphasis> باقی میماند.
Finally, the <varname>protocol</varname> argument depends on the previous two arguments, and is not always meaningful. In that case, use <constant>0</constant> for its value.
سرانجام، برهان <varname>protocol</varname> که وابسته به دو برهان پیشین است، و همیشه معنادار نیست. در آن صورت، از <constant>0</constant> بهعنوان مقدار آن استفاده کنید.