--- a/src/applications/model/bulk-send-application.cc +++ a/src/applications/model/bulk-send-application.cc @@ -118,6 +118,7 @@ void BulkSendApplication::StartApplication (void) // Called at time specified by if (!m_socket) { m_socket = Socket::CreateSocket (GetNode (), m_tid); + m_socketCreated (m_socket); // Fatal error if socket type is not NS3_SOCK_STREAM or NS3_SOCK_SEQPACKET if (m_socket->GetSocketType () != Socket::NS3_SOCK_STREAM && --- a/src/applications/model/onoff-application.cc +++ a/src/applications/model/onoff-application.cc @@ -151,6 +151,8 @@ void OnOffApplication::StartApplication () // Called at time specified by Start if (!m_socket) { m_socket = Socket::CreateSocket (GetNode (), m_tid); + m_socketCreated (m_socket); + if (Inet6SocketAddress::IsMatchingType (m_peer)) { m_socket->Bind6 (); --- a/src/applications/model/packet-sink.cc +++ a/src/applications/model/packet-sink.cc @@ -114,6 +114,7 @@ void PacketSink::StartApplication () // Called at time specified by Start if (!m_socket) { m_socket = Socket::CreateSocket (GetNode (), m_tid); + m_socketCreated (m_socket); m_socket->Bind (m_local); m_socket->Listen (); m_socket->ShutdownSend (); --- a/src/applications/model/udp-client.cc +++ a/src/applications/model/udp-client.cc @@ -117,6 +117,7 @@ UdpClient::StartApplication (void) { TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory"); m_socket = Socket::CreateSocket (GetNode (), tid); + m_socketCreated (m_socket); if (Ipv4Address::IsMatchingType(m_peerAddress) == true) { m_socket->Bind (); --- a/src/applications/model/udp-echo-client.cc +++ a/src/applications/model/udp-echo-client.cc @@ -125,6 +125,7 @@ UdpEchoClient::StartApplication (void) { TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory"); m_socket = Socket::CreateSocket (GetNode (), tid); + m_socketCreated (m_socket); if (Ipv4Address::IsMatchingType(m_peerAddress) == true) { m_socket->Bind(); --- a/src/applications/model/udp-echo-server.cc +++ a/src/applications/model/udp-echo-server.cc @@ -81,6 +81,7 @@ UdpEchoServer::StartApplication (void) { TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory"); m_socket = Socket::CreateSocket (GetNode (), tid); + m_socketCreated (m_socket); InetSocketAddress local = InetSocketAddress (Ipv4Address::GetAny (), m_port); m_socket->Bind (local); if (addressUtils::IsMulticast (m_local)) --- a/src/applications/model/udp-server.cc +++ a/src/applications/model/udp-server.cc @@ -119,6 +119,7 @@ UdpServer::StartApplication (void) { TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory"); m_socket = Socket::CreateSocket (GetNode (), tid); + m_socketCreated (m_socket); InetSocketAddress local = InetSocketAddress (Ipv4Address::GetAny (), m_port); m_socket->Bind (local); --- a/src/applications/model/udp-trace-client.cc +++ a/src/applications/model/udp-trace-client.cc @@ -240,6 +240,7 @@ UdpTraceClient::StartApplication (void) { TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory"); m_socket = Socket::CreateSocket (GetNode (), tid); + m_socketCreated (m_socket); if (Ipv4Address::IsMatchingType(m_peerAddress) == true) { m_socket->Bind ();