如何获取UDP数据包中包含的信息?
我使用 VLC (UDP) 流式传输文件,并且必须从我的应用程序读取数据包。如何从 UDP 获取所有信息(标头和数据)?我稍后需要它们..
I stream a file with VLC (UDP) and i have to read the packets from my app. How can i get all the information from UDP (header and data)? i need them later..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这里是一个很好的教程,如何嗅探数据
对于另一种方式,您可以使用wireshark
Here is a nice tuttorial how to sniff data
For another way you can use wireshark
WSARecvFrom
将从标头中获取发件人地址以及数据(有效负载)。 C# 版本是Socket.ReceiveFrom
。
如果您需要其他标头字段,可以使用
WSARecvMsg
,C# 版本为Socket.ReceiveMessageFrom
。而且,您可能应该使用异步版本:
Socket.ReceiveFromAsync
和Socket.ReceiveMessageFromAsync
WSARecvFrom
will get you the sender address from the header, along with the data (payload). C# version isSocket.ReceiveFrom
.If you need other header fields, there's
WSARecvMsg
, the C# version isSocket.ReceiveMessageFrom
.And, you should probably be using the async versions:
Socket.ReceiveFromAsync
andSocket.ReceiveMessageFromAsync