ios 的socket 注意事項

來源:互聯網
上載者:User

不同機器內部對變數的位元組儲存順序不同,有的採用大端模式(big-endian),有的採用小端模式(little-endian)。
大端模式是指高位元組資料存放在低地址處,低位元組資料放在高地址處。
小端模式是指低位元組資料存放在低地址處,高位元組資料放在高地址處。

在網路上傳輸資料時,由於資料轉送的兩端可能對應不同的硬體平台,採用的儲存位元組順序也可能不一致,因此 TCP/IP 協議規定了在網路上必須採用 網路位元組順序(也就是大端模式)  。

通過對大小端的儲存原理分析可發現,對於 char 型資料,由於其只佔一個位元組,所以不存在這個問題,這也是一般情況下把資料緩衝區定義成 char 類型 的原因之一。對於 IP 位址、連接埠號碼等非 char 型資料,必須在資料發送到網路上之前將其轉換成大端模式,在接收到資料之後再將其轉換成符合接收端主機的儲存模式。

所以我們在對ios 對資料轉送時要改變資料為大端儲存   ::::   t16 = CFSwapInt16HostToBig(_api_ret);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

Tags Index: