2011-01-11 142 views
0

我有一個在Windows上運行的系統。 我在那個系統中有一個進程,在同一臺機器上等待一個udp消息的另一個進程。信息本身並不重要(垃圾),但重要的是我得到了信息本身的事件。UDP端口0.0.0.0

問題是,我似乎從另一個本地程序獲得UDP消息,我不知道從哪裏。我在收到的UDP消息中添加了有關發件人的信息。我看到我從有效的本地端口獲取消息,但也從地址0.0.0.0獲取消息。

我無法理解0.0.0.0。有沒有人有想法?

+1

`0.0.0.0`不是端口,它是一個地址 – skaffman 2011-01-11 15:10:21

回答

0

因爲它是一個udp消息並使用異步類型,所以在閱讀從另一個程序到達的消息時,我無法知道何時停止閱讀,何時閱讀消息並獲得0.0.0.0這意味着我讀取了所有內容來自操作系統的UDP緩衝區。

0

即使通過網絡,沒有分配IP地址的計算機也可以發送此類數據包 - 請參閱在DHCP中類似的機制,其中DHCP discovery數據包的發送源地址爲0.0.0.0

在本地計算機上,是否可以在已啓動但沒有IP的接口上發送(並接收)數據包地址?

此外,這可能意味着「廣播」 - if this article on e2是正確的,它是一個製作廣播數據包的廢棄方法,但顯然它從未被刪除。