htonl

    9熱度

    3回答

    當我發送一個整數變量從一個進程到其他通過套接字,然後打印接收端的值,該值仍然是相同的,而不使用ntohl/htonl,然後在哪裏做我需要使用這些函數,而不是初始化套接字結構。我明白litte/big endian。但是,當值保持不變時,爲什麼我們需要將端口和IP nos轉換爲主機/網絡字節順序。請詳細解釋整數如何通過網絡傳輸?

    7熱度

    2回答

    我正在開發一個網絡應用程序並使用套接字API。 我想設置sockaddr_in6結構的sin6_addr字節順序。 對於16位或32位的變量,它很簡單:用htons或htonl: // IPv4 sockaddr_in addr; addr.sin_port = htons(123); addr.sin_addr.s_addr = htonl(123456); 但對於128位變量,我不知

    5熱度

    3回答

    我想通過網絡發送一些雙精度浮點數。 (標準C,標準套接字)沒有htond或ntohd將數據轉換爲網絡字節順序和從網絡字節順序轉換數據。我該怎麼辦?我有一些解決方案,但我想知道常用的做法。 (我也想知道什麼是發送64位整數,就像使用的GStreamer值gint64常見的做法) 編輯: 這是一個解決方案,我想到的。我認爲它適用於任何大小的整數,但對於雙打是否正確? void swap_if_nece

    53熱度

    6回答

    我正在研究memcache協議的實現,它在某些點上使用64位整數值。這些值必須以「網絡字節順序」存儲。 我希望有一些uint64_t htonll(uint64_t value)功能來做改變,但不幸的是,如果它存在,我找不到它。 所以,我有1個或2個問題: 是否有任何便攜式(在Windows,Linux,AIX)標準函數來做到這一點? 如果沒有這樣的功能,你會如何實現它? 我記得一個基本的實現,但

    3熱度

    3回答

    我正在創建一個小型TFTP客戶端 服務器應用程序,其中服務器開發 使用c + +和客戶端使用java。 在這裏我發送「塊計數」值 使用htons轉換。 但我無法將其返回 到客戶端的原始值。 例如,如果發送塊計數 ntohs(01)(2字節)從服務器到 客戶端。客戶端正在以字節讀取。 我收到的值是字節0 和字節1. 如果有任何人可以提供 解決方案,請給我。

    28熱度

    2回答

    在C#中有網絡到主機的轉換功能嗎?谷歌搜索,並沒有找到太多。 :P