socket-programming:inet_ntop
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
| socket-programming:inet_ntop [2024/06/18 00:25] – ایجاد شد pejman | socket-programming:inet_ntop [2024/06/18 00:58] (فعلی) – حذف شد pejman | ||
|---|---|---|---|
| خط 1: | خط 1: | ||
| - | ====== تابع ()inet_ntop ====== | ||
| - | از این تابع برای تبدیل Network-Byte-Order به شکل نمایشی (presntation) استفاده میشه. | ||
| - | |||
| - | #include < | ||
| - | | ||
| - | const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); | ||
| - | |||
| - | |||
| - | نمونه استفاده از ()inet_ntop در IPv4 : | ||
| - | |||
| - | <code C> | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | int main() | ||
| - | { | ||
| - | |||
| - | struct in_addr ia; | ||
| - | |||
| - | ia.s_addr = 0xEF9AA8C0; | ||
| - | char ipv4[INET_ADDRSTRLEN]; | ||
| - | |||
| - | inet_ntop(AF_INET, | ||
| - | |||
| - | printf(" | ||
| - | |||
| - | return 0; | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | خروجی | ||
| - | |||
| - | ipv4 : 192.168.154.239 | ||
| - | |||
| - | در مثال بالا برای سادگی ia.s_addr دستی مقدار دهی شده ولی در عمل این مقدار دهی توسط توابع دیگر انجام میشود و ما کافی ست با تابع ()inet_ntop آن را به شکل قابل نمایش در آوریم. | ||
| - | |||
| - | در نمونه IPv6 ، ورودی inet_ntop را از inet_pton میگیریم : | ||
| - | |||
| - | <code C> | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | int main() | ||
| - | { | ||
| - | char src[INET6_ADDRSTRLEN] = " | ||
| - | char ipv6[INET6_ADDRSTRLEN]; | ||
| - | struct in6_addr i6a; | ||
| - | |||
| - | inet_pton(AF_INET6, | ||
| - | |||
| - | inet_ntop(AF_INET6, | ||
| - | |||
| - | printf(" | ||
| - | |||
| - | return 0; | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | خروجی | ||
| - | |||
| - | ipv6 = :: | ||
| - | |||
| - | نکته: در مثال های فوق چون in_addr و in6_addr فقط یک عضو دارند، توانستیم فقط نام متغیر از نوع آنها را بنویسیم وگرنه باید بجای ia& باید مینوشتیم (ia.s_addr)& | ||
socket-programming/inet_ntop.1718657759.txt.gz · آخرین ویرایش: 2024/06/18 00:25 توسط pejman
