[英]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.