如何发送原始数据包

时间:2012-06-29 08:49:16

标签: windows-phone-7 visual-c++ c#-4.0 network-programming windows-phone-7.1.1

我无法将Windows手机的原始数据包发送到远程客户端。

原始数据包的SocketType枚举中也没有枚举值。

但我仍然可以在Windows Phone市场中看到很多应用程序,可以发送和接收原始数据包。例如。 ICMP数据包

有人可以告诉我如何在C#中执行此操作,或者我是否需要编写c ++ dll然后执行P / Invoke?

1 个答案:

答案 0 :(得分:1)

Windows手机基于Windows Embedded compact,以前称为Windows CE。

当我使用Windows CE时,它不支持原始套接字。要发送原始数据包,您需要协议驱动程序。如果您不愿意编写自己的协议驱动程序,可以尝试NDISUIO。它是一个带有附加流驱动程序接口的协议驱动程序。当某些ioctl调用时,您可以指示它发送(和接收)原始数据包。

Windows Phone 7基于Windows CE 6.0,但我认为NDISUIO也可以在这里使用。