1

我無法將原始數據包從Windows Phone發送到遠程客戶端。如何發送原始數據包

對於原始數據包,SocketType枚舉中也沒有枚舉值。

但我仍然可以在windows phone marketplace中看到很多應用程序,它可以發送和接收原始數據包。例如。 ICMP數據包

有人可以告訴我如何在C#中做到這一點,或者如果我需要編寫一個c + + dll,然後執行P/Invoke?

回答

1

Windows手機基於Windows Embedded compact,以前稱爲Windows CE。

雖然我使用Windows CE,但它不支持原始套接字。發送原始數據包需要一個協議驅動程序。如果您不願意編寫自己的協議驅動程序,則可以嘗試NDISUIO。它是一個具有附加流驅動程序接口的協議驅動程序。當某些ioctl呼叫時,您可以指示它發送(並接收)原始數據包。

Windows phone 7基於Windows CE 6.0,但我認爲NDISUIO也可以在這裏找到。