2012-01-19 26 views
0

私はVLC(UDP)でファイルをストリーミングするので、私のアプリからパケットを読まなければなりません。 UDP(ヘッダとデータ)からすべての情報を取得するにはどうすればよいですか?私は後でそれらを必要とします。UDPパケットに含まれる情報を取得するにはどうすればよいですか?

+0

を使用することができます別の方法についてのデータに

を盗聴する方法素敵tuttorialあるまさにヘッダを識別してください。あなたが後にしているデータほとんどのネットワークスタックは、アプリケーションレイヤーに「下位レイヤー」プロトコルヘッダーを暫定的に公開しません。 – 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:これらの各機能は、ソース情報とペイロードを持つ2つのバッファーを満たします。しかし、ヘッダー全体を取得するには、rawソケットが必要です。 –

関連する問題