2012-08-29 183 views
0

我想編寫一個簡單的數據收集gui。設置如下:UDP數據包不被接收

一方面,我有一個編程的FPGA發送簡單的UDP數據包填充數據。系統的這一部分正在工作 - 已經過驗證,我可以看到數據包按照預期在wireshark中進入。

另一方面,我試圖在C#中構建一個簡單的接收器來收集數據包並顯示數據。我已經嘗試了所有可以在UDP通信中找到的東西,但是,我似乎無法使GUI看到任何數據包。

數據包正從192.168.0.99:1024發送到192.168.0.100:1024。

我的測試代碼如下:

private void ConnectToUDP(UDPOptions Options) 
{ 
    UdpClient listener = new UdpClient(1024); 
    IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, 1024); 

    while (true) 
    { 
     byte[] bytes = listener.Receive(ref groupEP); 
    } 
} 

不過,我似乎無法得到它做什麼,但塊的最後一行。 (即它阻止,但似乎從來沒有收到任何數據。)

再次,我可以看到數據包進入wireshark,我的機器上我的IP地址設置爲192.168.0.100實際上確認傳入數據包,但我的程序不會看到它們。

任何人有任何想法我做錯了什麼?

感謝, 伊恩

+0

防火牆?路由器規則? – Wug

+1

如果您在同一臺計算機上運行服務器和客戶端,會發生什麼情況? – KevinDTimm

+0

確保以管理員身份運行程序/視覺工作室 –

回答

0

不知道你是否還需要這樣或即使這會爲你工作,但@INCyr,嘗試改變IPEndPoint端口從1024到0,像這樣:

IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, 0); 

這對我有用。