簡體   English   中英

套接字編程 - 將Windows代碼轉換為linux代碼

[英]Socket programming - Converting Windows code into linux code

我是套接字編程的新手,我的任務是將windows代碼更改為linux。 我有一個問題,我希望你能幫助我。 我得到了這段代碼,其中IP4地址的四個參數從一個函數轉移到我的套接字代碼(在帶有頭文件winsock.h的windows中)。

struct sockaddr_in server;

server.sin_addr.S_un.S_un_b.s_b1 = (unsigned char)a1;
server.sin_addr.S_un.S_un_b.s_b2 = (unsigned char)a2;
server.sin_addr.S_un.S_un_b.s_b3 = (unsigned char)a3;
server.sin_addr.S_un.S_un_b.s_b4 = (unsigned char)a4;

我的問題是,如果有類似的方式將這些參數傳遞給linux套接字代碼。

您可以手動轉換它:

inaddr_t make_inaddr(
            unsigned char a1,
            unsigned char a2,
            unsigned char a3,
            unsigned char a4)
{
    inaddr_t result;

    result = htonl(((uint32_t)a1 << 24) 
                    | ((uint32_t)a2 << 16)
                    | ((uint32_t)a3 << 8)
                    | a4);
    return result;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM