美文网首页NS3(Network Simulator)
NS3 PacketSink类API说明

NS3 PacketSink类API说明

作者: shawn168 | 来源:发表于2017-06-25 20:32 被阅读699次

源文件位置:

src/applications/model/packet-sink.h
packet-sink.cc

描述:

接收和消耗生成到IP地址和端口的流量。

此应用程序是为了补充OnOffApplication而编写的,但它是更通用的,因此选择了一个PacketSink名称。 在功能上,重要的是在多播情况下使用,使得接收感兴趣的第2层多播帧被启用,但是它对于单播也是有用的,作为如何在应用层上写简单地接收分组的示例。 此外,如果IP堆栈生成ICMP端口不可达错误,将需要接收应用程序。

构造函数指定要使用的地址(IP地址和端口)和传输协议。 虚拟Receive()方法作为回调安装在接收套接字上。 默认情况下,当启用日志记录时,它打印出包的大小及其地址。 还提供了一个Receive()的跟踪源。

属性路径:

"/NodeList/[i]/ApplicationList/[i]/$ns3::PacketSink" 

属性:

Local: 绑定rx套接字的地址。
Protocol: 用于rx套接字的协议的类型id。

StartTime: Time at which the application will start
StopTime: Time at which the application will stop

跟踪源:

Rx: 已接收到数据包

公共方法:

PacketSink ()
virtual     ~PacketSink ()
std::list< Ptr< Socket > >  GetAcceptedSockets (void) const
        接受的套接字的指针列表
Ptr< Socket >   GetListeningSocket (void) const
        指向侦听套接字的指针
uint64_t    GetTotalRx () const 
        在此sink应用程序中接收的总字节数
static TypeId   GetTypeId (void)
virtual void    DoDispose (void)

私有方法:

void    HandleAccept (Ptr< Socket > socket, const Address &from)
    处理传入连接。
void    HandlePeerClose (Ptr< Socket > socket)
    处理连接关闭。
void    HandlePeerError (Ptr< Socket > socket)
    处理连接错误。
void    HandleRead (Ptr< Socket > socket)
    处理应用程序接收的数据包。
virtual void    StartApplication (void)
virtual void    StopApplication (void)


PacketSinkHelper 源文件位置:

src/applications/helper/packet-sink-helper.h
packet-sink-helper.cc

描述:

一个帮助器,使其更容易在一组节点上实例化ns3 :: PacketSinkApplication。

公共方法:

PacketSinkHelper (std::string protocol, Address address)
    创建PacketSinkHelper以使其更容易使用PacketSinkApplications。
ApplicationContainer    Install (NodeContainer c) const
    在配置了使用SetAttribute设置的所有属性的输入容器的每个节点上安装ns3 :: PacketSinkApplication。
ApplicationContainer    Install (Ptr< Node > node) const
    在配置了使用SetAttribute设置的所有属性的输入容器的每个节点上安装ns3 :: PacketSinkApplication。
ApplicationContainer    Install (std::string nodeName) const
    在配置了使用SetAttribute设置的所有属性的输入容器的每个节点上安装ns3 :: PacketSinkApplication。
void    SetAttribute (std::string name, const AttributeValue &value)
    辅助函数用于设置底层应用程序属性。

私有方法:

Ptr< Application >  InstallPriv (Ptr< Node > node) const 
    在配置了使用SetAttribute设置的所有属性的节点上安装ns3 :: PacketSink。

用法:

  PacketSinkHelper sink ("ns3::TcpSocketFactory",
                         InetSocketAddress (Ipv4Address::GetAny (), port));
  ApplicationContainer sinkApps = sink.Install (nodes.Get (1));
  sinkApps.Start (Seconds (0.0));
  sinkApps.Stop (Seconds (10.0));

相关文章

  • NS3 PacketSink类API说明

    源文件位置: src/applications/model/packet-sink.hpacket-sink.cc...

  • NS3 ObjectBase类API说明

    通常作为基类,派生其他类。每个想要在ns-3类型和属性系统中集成的类都应该从这个基类派生。 这个基类提供: 公共方...

  • NS3 Socket类API说明

    源文件位置: src/netwrok/model/socket.hsocket.cc 描述: 一个基于BSD So...

  • NS3 WifiMacQueue类API说明

    介绍: 此队列实现(第9.19.2.6节“重传过程”第6段; IEEE 802.11-2012)中描述的超时过程。...

  • NS3 BulkSendApplication类API说明

    源文件位置:src/applications/model/bulk-send-application.hbulk-...

  • NS3 Config类API说明

    源文件位置:src/core/model/config.hconfig.cc 配置仿真参数和跟踪。 用法实例: 1...

  • NS3 GlobalValue类API以及使用说明

    GlobalValue类 位置: core/model/global-value.cc 功能: 可从四个地方获取值...

  • NS3 Ipv4AddressHelper类API说明

    文件位置:/src/internet/helper/ipv4-address-helper.h 一个帮助类,在脚本...

  • NS3 Timer类说明

    官方文档介绍 一个简单的Timer类。定时器用于将延迟保持在一起,延迟到期时调用的函数以及延迟到期时传递给函数的一...

  • NS3 MacRxMiddle类说明

    官方文档说明 该类处理片段的重复检测和重组。 也就是说该类的功能主要是检测节点接收到的分组是否重复,以及是否是分片...

网友评论

    本文标题:NS3 PacketSink类API说明

    本文链接:https://www.haomeiwen.com/subject/ttpgnttx.html