1

我需要在 Windows CE 5.0 中使用原始套接字。以下代码总是失败并出现错误

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 中使用原始套接字我必须做什么?

4

2 回答 2

0

我发现 WinCE 特定套接字的 MSDN 文档相当少,但桌面 winsock 的指南非常好。

在尝试为 WinCE 5.0 编写我的第一个套接字应用程序时,我偶然发现了以下链接:

我希望你觉得它们有用。

请注意,即使上面的文章是针对桌面的,我也可以使用这些概念和代码,只需稍作修改。

于 2011-09-09T10:19:59.940 回答
0

Windows CE 5.0 不支持原始 IP 套接字。您可以使用 NDISUIO 发送具有任意内容的数据包。

于 2011-09-12T14:39:38.770 回答