Translation

(itstool) path: imageobject/imagedata This is a reference to an external file such as an image or video. When the file changes, the md5 hash will change to let you know you need to update your localized copy. The msgstr is not used at all. Set it to whatever you like once you have updated your copy of the file.
_
external ref='sockets/slayers' md5='__failed__'
47/470
Context English Persian State
So, now we have some data wrapped in the <acronym>PNG</acronym> protocol, wrapped in the <acronym>HTTP</acronym> protocol. How did we get it from the server? بسیار خوب، حال مقداری دادهٔ پیچیده شده در قرارداد <acronym>PNG</acronym>، پیچیده شده در قرارداد <acronym>HTTP</acronym> داریم. چطور این را از کارساز گرفتیم؟
By using <acronym>TCP/IP</acronym> over Ethernet, that is how. Indeed, that is three more protocols. Instead of continuing inside out, I am now going to talk about Ethernet, simply because it is easier to explain the rest that way. بدین شکل، با استفاده از <acronym>TCP/IP</acronym> بر روی اِتِرنِت. صحیح، این سه قرارداد دیگر است. به جای ادامهٔ از داخل به بیرون، اکنون می‌خواهم در مورد اترنت صحبت کنم، چرا که ساده‌تر از مابقی می‌توان توضیحش داد.
Ethernet is an interesting system of connecting computers in a <emphasis>local area network</emphasis> (<acronym>LAN</acronym>). Each computer has a <emphasis>network interface card</emphasis> (<acronym>NIC</acronym>), which has a unique 48-bit <acronym>ID</acronym> called its <emphasis>address</emphasis>. No two Ethernet <acronym>NIC</acronym>s in the world have the same address. اترنت یک سامانهٔ جالب برای ارتباط رایانه‌ها در یک <emphasis>شبکهٔ محلی</emphasis> (<acronym>LAN</acronym>) است. هر رایانه یک <emphasis>کارت شبکه</emphasis> (<acronym>NIC</acronym>) دارد، که یک <acronym>ID</acronym> ۴۸-بیتی منحصر به فرد به عنوان <emphasis>نشانی</emphasis> خود دارد. هیچ دو <acronym>NIC</acronym> در دنیا یک نشانی مشترک ندارند.
These <acronym>NIC</acronym>s are all connected with each other. Whenever one computer wants to communicate with another in the same Ethernet <acronym>LAN</acronym>, it sends a message over the network. Every <acronym>NIC</acronym> sees the message. But as part of the Ethernet <emphasis>protocol</emphasis>, the data contains the address of the destination <acronym>NIC</acronym> (among other things). So, only one of all the network interface cards will pay attention to it, the rest will ignore it. این <acronym>NIC</acronym> ها همه با یکدیگر مرتبط هستند. هر زمان که یک رایانه می‌خواهد با رایانه‌ای دیگر در یک اترنت <acronym>LAN</acronym> صحبت کند، پیامی بر روی شبکه ارسال می‌کند. تمام <acronym>NIC</acronym> ها پیام را می‌بینند. اما به‌عنوان بخشی از <emphasis>قرارداد</emphasis> اترنت، داده حاوی نشانیِ <acronym>NIC</acronym> مقصد (میان دیگران) است. بنابراین، تنها یکی از تمام کارت شبکه‌ها به آن توجه می‌کند، مابقی آن را نادیده می‌گیرند.
But not all computers are connected to the same network. Just because we have received the data over our Ethernet does not mean it originated in our own local area network. It could have come to us from some other network (which may not even be Ethernet based) connected with our own network via the Internet. اما همهٔ رایانه‌ها به یک شبکه وصل نیستند. اینکه ما داده را از طریق اترنت دریافت کردیم به این معنا نیست که خاستگاه آن شبکه محلی خودمان است. می‌تواند از شبکهٔ دیگری (که حتی ممکن است مبتنی بر اترنت نباشد) که به واسطهٔ اینترنت با ما ارتباط دارد به سمت ما آمده باشد.
All data is transferred over the Internet using <acronym>IP</acronym>, which stands for <emphasis>Internet Protocol</emphasis>. Its basic role is to let us know where in the world the data has arrived from, and where it is supposed to go to. It does not <emphasis>guarantee</emphasis> we will receive the data, only that we will know where it came from <emphasis>if</emphasis> we do receive it. تمامی داده‌ها بر روی اینترنت به واسطهٔ <acronym>IP</acronym> منتقل می‌شوند، که مخفف <emphasis>قرارداد اینترنت</emphasis> است. نقش اساسی آن آگاه ساختن ما از خاستگاه یک داده در دنیا و مقصد آن است. این <emphasis>تضمین</emphasis> نمی‌کند که ما داده را دریافت می‌کنیم، تنها اینکه می‌دانیم داده از کجا آمده است را تضمین می‌کند، البته <emphasis>اگر</emphasis> که دریافتش کنیم.
Even if we do receive the data, <acronym>IP</acronym> does not guarantee we will receive various chunks of data in the same order the other computer has sent it to us. So, we can receive the center of our image before we receive the upper left corner and after the lower right, for example. حتی اگر داده را دریافت کنیم، <acronym>IP</acronym> تضمینی نمی‌کند که تکه‌های مختلف را به همان ترتیب که از رایانهٔ دیگر ارسال شده است دریافت کنیم. بنابراین، به‌طور مثال می‌توانیم مرکز تصویر را قبل از گوشهٔ بالا سمت چپ و بعد از پایین سمت راست تصویر دریافت کنیم.
It is <acronym>TCP</acronym> (<emphasis>Transmission Control Protocol</emphasis>) that asks the sender to resend any lost data and that places it all into the proper order. این <acronym>TCP</acronym> (<emphasis>قرارداد هدایت انتقال</emphasis>) است که از فرستنده درخواست ارسال مجدد هر دادهٔ گم‌شده را می‌کند و تمام آن را در ترتیب درست قرار می‌دهد.
All in all, it took <emphasis>five</emphasis> different protocols for one computer to communicate to another what an image looks like. We received the data wrapped into the <acronym>PNG</acronym> protocol, which was wrapped into the <acronym>HTTP</acronym> protocol, which was wrapped into the <acronym>TCP</acronym> protocol, which was wrapped into the <acronym>IP</acronym> protocol, which was wrapped into the <acronym>Ethernet</acronym> protocol. در مجموع، <emphasis>پنج</emphasis> قرارداد مختلف استفاده شد تا یک رایانه رایانه‌ای دیگر از ظاهر یک تصویر مطلع سازد. ما داده را پیچیده شده در قرارداد <acronym>PNG</acronym> دریافت کردیم، که خود پیچیده شده در قرارداد <acronym>HTTP</acronym> بود، که آن پیچیده شده در قرارداد <acronym>TCP</acronym> بود، که پیچیده شده در قرارداد <acronym>IP</acronym> بود، که آن هم پیچیده شده در قرارداد <acronym>اترنت</acronym> بود.
Oh, and by the way, there probably were several other protocols involved somewhere on the way. For example, if our <acronym>LAN</acronym> was connected to the Internet through a dial-up call, it used the <acronym>PPP</acronym> protocol over the modem which used one (or several) of the various modem protocols, et cetera, et cetera, et cetera... اوه،‌راستی، احتمالاً چند قراداد دیگر هم جایی در مسیر درگیر بودند. برای مثال، اگر <acronym>LAN</acronym> ما به اینترنت توسط یک تماس dial-up وصل شده بود، از قرارداد <acronym>PPP</acronym> بر روی مُودم استفاده می‌کرد که خود از یکی (یا چندتا) از قراردادهای مختلف مرتبط با مودم استفاده می‌کرد، و غیره، و غیره، و غیره...
As a developer you should be asking by now, <emphasis><quote>How am I supposed to handle it all?</quote></emphasis> به‌عنوان یک توسعه‌دهنده، این سؤال باید برایتان پیش آمده باشد که <emphasis><quote>چطور باید همهٔ این را مدیریت کنم؟</quote></emphasis>
Luckily for you, you are <emphasis>not</emphasis> supposed to handle it all. You <emphasis>are</emphasis> supposed to handle some of it, but not all of it. Specifically, you need not worry about the physical connection (in our case Ethernet and possibly <acronym>PPP</acronym>, etc). Nor do you need to handle the Internet Protocol, or the Transmission Control Protocol. خوشبختانه، شما بنا <emphasis>نیست</emphasis> تماما این فرآیند را مدیریت کنید. شما <emphasis>بناست</emphasis> بخشی از آن را مدیریت کنید، اما نه همهٔ آن را. به‌طور مشخص، شما نیازی نیست نگران ارتباط فیزیکی (در این مثال اترنت و احتمالاً <acronym>PPP</acronym>، و غیره) باشید. همچنین نیاز نیست قرارداد اینترنت، یا قرارداد هدایت انتقال را مدیریت کنید.
In other words, you do not have to do anything to receive the data from the other computer. Well, you do have to <emphasis>ask</emphasis> for it, but that is almost as simple as opening a file. به‌گفته‌ای دیگر، برای دریافت داده از رایانه‌ای دیگر شما نیاز نیست هیچ کاری کنید. در حقیقت، شما باید برای آن <emphasis>تقاضا</emphasis> کنید، اما این به سادگی باز کردن یک پرونده است.
Once you have received the data, it is up to you to figure out what to do with it. In our case, you would need to understand the <acronym>HTTP</acronym> protocol and the <acronym>PNG</acronym> file structure. به محض اینکه داده را دریافت کنید، دیگر به شما مربوط است که بفهمید با آن چه باید کنید. در مثال ما، شما نیاز به درک قرارداد <acronym>HTTP</acronym> و ساختار پروندهٔ <acronym>PNG</acronym> دارید.
To use an analogy, all the internetworking protocols become a gray area: Not so much because we do not understand how it works, but because we are no longer concerned about it. The sockets interface takes care of this gray area for us: برای استفاده از یک تشبیه، تمام قراردادهای اینترنت به یک فضای خاکستری بدل می‌شوند: نه به این دلیل که نمی‌فهمیم چطور کار می‌کنند، بلکه به این دلیل که دیگر نگرانشان نیستیم. سوکت‌ها از این فضاهای خاکستری برایمان مراقبت می‌کنند:
_ external ref='sockets/slayers' md5='__failed__' external ref='sockets/slayers' md5='__failed__'
+----------------+
|xxxxEthernetxxxx|
|+--------------+|
||xxxxxxIPxxxxxx||
||+------------+||
|||xxxxxTCPxxxx|||
|||+----------+|||
|||| HTTP ||||
||||+--------+||||
||||| PNG |||||
|||||+------+|||||
|||||| Data ||||||
|||||+------+|||||
||||+--------+||||
|||+----------+|||
||+------------+||
|+--------------+|
+----------------+
+----------------+
|xxxxEthernetxxxx|
|+--------------+|
||xxxxxxIPxxxxxx||
||+------------+||
|||xxxxxTCPxxxx|||
|||+----------+|||
|||| HTTP ||||
||||+--------+||||
||||| PNG |||||
|||||+------+|||||
|||||| Data ||||||
|||||+------+|||||
||||+--------+||||
|||+----------+|||
||+------------+||
|+--------------+|
+----------------+
<imageobject> <imagedata fileref="sockets/slayers"/> </imageobject> <textobject> <_:literallayout-1/> </textobject> <textobject> <phrase>Sockets Covered Protocol Layers</phrase> </textobject> <imageobject> <imagedata fileref="sockets/slayers"/> </imageobject> <textobject> <_:literallayout-1/> </textobject> <textobject> <phrase>لایه‌های قراردادی تحت پوشش سوکت‌ها</phrase> </textobject>
We only need to understand any protocols that tell us how to <emphasis>interpret the data</emphasis>, not how to <emphasis>receive</emphasis> it from another process, nor how to <emphasis>send</emphasis> it to another process. ما تنها لازم است قراردادهایی که به ما از نحوهٔ چگونه <emphasis>تفسیر کردن داده</emphasis> می‌گویند را بدانیم، نه چگونه <emphasis>دریافت کردن</emphasis> آن از فرآیندی دیگر را، و نه حتی چگونه <emphasis>ارسال کردن</emphasis> آن به فرآیند دیگری را.
The Sockets Model پیکر سوکت‌ها
<acronym>BSD</acronym> sockets are built on the basic <trademark class="registered">UNIX</trademark> model: <emphasis>Everything is a file.</emphasis> In our example, then, sockets would let us receive an <emphasis>HTTP file</emphasis>, so to speak. It would then be up to us to extract the <emphasis><acronym>PNG</acronym> file</emphasis> from it. سوکت‌های <acronym>BSD</acronym> بر روی الگوی اساسی <trademark class="registered">UNIX</trademark> ساخته شده‌اند: <emphasis>همه چیز پرونده است.</emphasis> از این رو، در مثال ما، سوکت‌ها برای ما امکان دریافت یک <emphasis>پروندهٔ HTTP</emphasis> را برای صحبت فراهم می‌کنند. و سپس، استخراج <emphasis>پروندهٔ <acronym>PNG</acronym></emphasis> از آن به عهدهٔ ماست.
Because of the complexity of internetworking, we cannot just use the <function role="syscall">open</function> system call, or the <function>open()</function> C function. Instead, we need to take several steps to <quote>opening</quote> a socket. به دلیل پیچیدگی اینترنت، ما نمی‌توانیم تنها از فراخوان سیستمیِ <function role="syscall">open</function>، یا تابع <function>open()</function> در زبان C استفاده کنیم. بلکه، به طی کردن چندین مرحله برای <quote>باز کردن</quote> یک سوکت نیاز داریم.
Once we do, however, we can start treating the <emphasis>socket</emphasis> the same way we treat any <emphasis>file descriptor</emphasis>: We can <function>read</function> from it, <function>write</function> to it, <function>pipe</function> it, and, eventually, <function>close</function> it. پس از انجام، می‌توانیم با <emphasis>سوکت</emphasis> همانند هر <emphasis>توصیف‌گر پروندهٔ</emphasis> دیگری رفتار کنیم: می‌توانیم با تابع <function>read</function> از آن بخوانیم، با تابع <function>write</function> در آن بنویسیم، آن را <function>pipe</function> کنیم، و، در نهایت، آن را با تابع <function>close</function> ببندیم.
Essential Socket Functions توابع ضروری سوکت
While FreeBSD offers different functions to work with sockets, we only <emphasis>need</emphasis> four to <quote>open</quote> a socket. And in some cases we only need two. اگرچه FreeBSD توابع متنوعی را برای کار با سوکت‌ها در اختیار می‌گذارد، ما تنها به چهار تابع برای <quote>باز کردن</quote> یک سوکت <emphasis>نیاز</emphasis> داریم. و در برخی مواقع هم تنها به دو تابع نیاز داریم.
The Client-Server Difference تفاوت کارخواه-کارساز
Typically, one of the ends of a socket-based data communication is a <emphasis>server</emphasis>, the other is a <emphasis>client</emphasis>. به‌طور معمول، یکی از دو سر ارتباطات دادهٔ سوکت محور یک <emphasis>کارساز</emphasis> است و دیگری یک <emphasis>کارخواه</emphasis> است.
The Common Elements عناصر متداور
<function>socket</function> <function>socket</function>
The one function used by both, clients and servers, is <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>2</manvolnum></citerefentry>. It is declared this way: یک تابع استفاده شده توسط هر دو، کارخواه‌ها و کارسازها، <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>2</manvolnum></citerefentry> است. بدین ترتیب تعریف می‌شود:
int socket(int domain, int type, int protocol); int socket(int domain, int type, int protocol);

Loading…

external ref='sockets/slayers' md5='__failed__'
external ref='sockets/slayers' md5='__failed__'
2 months ago
Browse all component changes

Things to check

Unchanged translation

Source and translation are identical

Reset

Glossary

English Persian
No related strings found in the glossary.

Source information

Context
_
Source string comment
(itstool) path: imageobject/imagedata This is a reference to an external file such as an image or video. When the file changes, the md5 hash will change to let you know you need to update your localized copy. The msgstr is not used at all. Set it to whatever you like once you have updated your copy of the file.
Source string location
book.translate.xml:5154
String age
4 months ago
Source string age
a year ago
Translation file
books/fa/developers-handbook.po, string 859