uint16_thtons(uint16_thostshort);htons的功能:將一個無符號短整型數值轉換為網絡字節序,即大端模式(big-endian)參數u_shorthostshort:16位無符號整數返回值:TCP/IP網絡字節順序.htons是把你機器上的" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

關于htons和htonl

系統 5322 0

我開始的時候認為htons和htonl可以只用htonl代替但是后來發現這個是錯誤,會導致服務器端和客戶端連接不上。

下面就讓我們看看他們:

?

htons

#include <arpa/inet.h>
uint16_t htons(uint16_t hostshort);
htons的功能:
??????????????????????? 將一個無符號短整型數值轉換為網絡字節序,即大端模式(big-endian) 參數u_short hostshort: 16位無符號整數 返回值:
?????????????? TCP / IP網絡字節順序.
htons 是把你機器上的整數轉換成“網絡字節序”, 網絡字節序是 big-endian,也就是整數的高位字節存放在內存的低地址處。 而我們常用的 x86 CPU (intel, AMD) 電腦是 little-endian,也就是整數的低位字節放在內存的低字節處。
舉個例子:
??????????????? 假定你的port是 0x1234, 在網絡字節序里 這個port放到內存中就應該顯示成 addr addr+1 0x12 0x34 而在x86電腦上,0x1234放到內存中實際是: addr addr+1 0x34 0x12 htons 的用處就是把實際內存中的整數存放方式調整成“網絡字節序”的方式。


htonl()

簡述: 將主機的無符號長整形數轉換成網絡字節順序。
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
hostlong:主機字節順序表達的32位數。
注釋:
? 本 函數 將一個32位數從主機字節順序轉換成網絡字節順序。
返回值:
????? htonl()返回一個網絡字節順序的值。
參見:
??? htons() ,? ntohl() ,? ntohs() .


在Linux系統下:
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
相關函數: uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort); 網際協議在處理這些多字節整數時,使用大端字節序。 在主機本身就使用大端字節序時,這些函數通常被定義為空宏。

?

?

?

關于htons和htonl


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發表我的評論
最新評論 總共0條評論