2013-03-24 22 views
2

這是我在這裏的第一篇文章。 我有一個嵌入式以太網PIC32 uC,它將一個特定端口上的UDP包發送到我的PC上的C#程序。 用C#我想要抓住這個軟件包如下:線鯊魚關閉時無法接收UDP包

UdpClient udpClient = new UdpClient(20011); 
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); 
     while (true) 
     { 
      byte[] content = udpClient.Receive(ref sender); 
     } 

的包裝看起來像這樣(Wireshark的): 來源:192.168.1.38目的地:192.168.1.44協議:UDP長度:122源端口:1000目的地端口:20011

有趣的部分是,只要電線鯊魚軟件在後臺運行,一切都可以正常工作!只要我停止收聽Wire-Shark在C#中收到的包裹。

有沒有人有一個想法這裏發生了什麼?

謝謝您的回答 克里斯

+1

您是否有任何錯誤或異常? – 2013-03-24 15:06:55

+0

不,它只是在接收線上等待,直到我再次打開wireshark – user2204718 2013-03-24 16:35:38

+0

,這沒有任何意義。我知道WireShark沒有這種效果。 – 2013-03-24 16:36:54

回答

0

是您的機器真的192.168.1.44? 如果沒有,您會看到數據包,因爲wireshark在後臺處於「promiscous」模式時正在運行;如果它將界面重置爲正常模式,則不會再看到它們。

+0

不錯,但我的機器是192.168.1.44 – user2204718 2013-03-24 15:49:12

+0

當我的接口處於promiscous模式時,還有沒有其他的方法來接收數據包? – user2204718 2013-03-24 16:38:40

0

您是否在Windows防火牆中有條目?如果您暫時禁用Windows防火牆,它會工作嗎?

+0

當我完全關閉windows防火牆時的相同行爲 – user2204718 2013-03-24 15:52:04

1

問題在於目標MAC地址未被客戶端正確解析。 感謝您的提示

+1

你是如何解決它的? – Evgeniy 2014-12-12 15:36:55