2011-06-08 25 views
1

我需要使用Windows CE 5.0中的原始套接字。以下代碼始終失敗,並顯示錯誤:如何在WinCE5中使用原始套接字?

socket failed, err:10044
(對指定的插槽類型支持不在這個地址族存在。)

WSAData wsaData; 
SOCKET s; 
int n; 

n = WSAStartup(MAKEWORD(2,0), &wsaData); 

if (n < 0) { 
    printf("WSAStartUp failed, err:%d\n", WSAGetLastError()); 
} else { 
    s = socket(AF_INET, SOCK_RAW, IPPROTO_IP); 

    if (s < 0) 
    { 
    printf("socket failed, err:%d\n", WSAGetLastError()); 
    } 
} 

我必須在Windows CE使用原始套接字做什麼?

回答

0

原始IP套接字在Windows CE 5.0中不受支持。 您可以使用NDISUIO發送任意內容的數據包。

0

我發現WinCE特定套接字的MSDN文檔是相當少的,但guide for desktop winsock是相當不錯的。

我試圖寫我的第一個插槽的應用程序給WinCE 5.0的時候偶然發現了以下鏈接:

我希望你能找到他們有用。

請注意,即使上述文章是用於桌面,我可以使用概念和代碼,但幾乎沒有修改。

+0

不幸的是,你的答案並不涉及windows CE。我瞭解到原始IP套接字不受支持。您可以改用NDISUIO。 – harper 2011-09-10 09:10:29

+0

然後,如果您現在知道答案,那麼您可能想要爲問題添加正確的答案(如果太多人投票並且您的評論也將被刪除,我可能會刪除我的答案。 – 2011-09-12 03:28:09