2012-01-19 49 views
0

我用VLC(UDP)流文件,我必須從我的應用程序讀取數據包。我如何從UDP(標題和數據)獲取所有信息?我以後需要它們..如何獲取UDP數據包中包含的信息?

+0

請找出什麼頭你正在處理的數據。大多數網絡堆棧並不平凡地將「低層」協議頭暴露給應用層。 – Alnitak

+0

我需要來自標題的所有數據。 – andrew

回答

0

WSARecvFrom會從頭部獲取發件人地址以及數據(有效內容)。 C#版本是Socket.ReceiveFrom

如果您需要其他標題字段,則有WSARecvMsg,C#版本是Socket.ReceiveMessageFrom

而且,你或許應該使用異步版本:Socket.ReceiveFromAsyncSocket.ReceiveMessageFromAsync

+0

no.sorry我沒有解釋得很好。我收到一個字節[]緩衝區中的消息,並基於UDP數據包結構我想獲取信息,我試過了,但每個數據包都有不同的數字作爲源和目標端口,例如 – andrew

+0

我想我的錯誤是因爲在該緩衝區我只有UDP數據包的有效載荷。如果是這樣,我怎樣才能得到標題? – andrew

+0

@ user1151849:這些函數中的每一個都填充兩個緩衝區,一個帶有源信息,一個帶有有效負載。但爲了獲得整個標題,你需要一個原始套接字。 –

1

Here是一個很好的tuttorial如何嗅出數據

另一種方式,你可以使用wireshark

相關問題