PCAP - 流媒体和在同一台计算机接收UDP

为了解释什么,我想获得,下面是一个例子。 比方说,我们有一个网卡的PC。 它拥有单一的IP地址172.16.0.1。 使用VLC,我们启动一个UDP流172.16.0.1:1234,然后启动VLC的另一个副本,并连接到UDP://@172.16.0.1:1234。 现在,我们将看到我们的视频流。

如果您运行嗅探器,你会看到报文172.16.0.1:some_random_port到172.16.0.1:1234环回。 还有我们的网卡没有TRAFIC。

我想要做的是流,并在同一台计算机接收UDP,像VLC做的。 但主要的问题是,PCAP只能pcap_open()实际设备,它不能与环回工作。

是否有可能解决这一问题?

PS我使用Windows和WinPcap的,不像Linux的版本,它可以发送数据包。

--------------解决方案-------------

如果你只是想发送和接收UDP数据包,我建议只使用普通的Winsock插座,就像你所使用的UN * X常规套接字; 使用WinPcap的,您需要重新实现IP UDP,不会让你发送到另一座在同一台机器上的Windows下的(或至少在某些UN * X版本,其一)。

如果想观看你发送的流量,不幸的WinPcap不会帮助,因为它依赖于从NDIS(其驱动器插入NDIS)被发送出去,接收的数据包,而不会发生从一个发送的数据包插座的机器上在同一台机器上的另一插座。

(注意,顺便说一句,那libpcap的可以在Linux和* BSD和Mac OS X和Solaris和数字/ Tru64 UNIX的发送数据包,例如,和已能好几年这样做;老版本的libpcap的不支持它,但可用于在过去几年版本可以,但按我的第一段,那就没有意义的使用libpcap的就这些操作系统发送和接收普通的UDP数据包,就像是没有意义的使用WinPcap的为目的在Windows上)。

分类:网络编程 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.223 (s). 10 q(s)