12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- %description:
- Tests UDPSocket method calls:
- 1. Socket options can be set before the bind() or connect() call.
- 2. connect() can be called more than once.
- 3. bind() can be called after connect().
- %file: TestApp.cc
- #include "inet/transportlayer/contract/udp/UDPSocket.h"
- #include "inet/transportlayer/contract/udp/UDPControlInfo_m.h"
- using namespace inet;
- namespace UDPSocket_1 {
- class TestApp : public cSimpleModule
- {
- public:
- TestApp() : cSimpleModule(65536) {}
- protected:
- virtual void activity();
- };
- Define_Module(TestApp);
- void TestApp::activity()
- {
- UDPSocket s;
- s.setOutputGate(gate("udpOut"));
- s.setMulticastLoop(false);
- s.connect(L3Address("10.0.0.1"), 1000);
- s.bind(100);
- s.connect(L3Address("10.0.0.2"), 2000);
- }
- }
- %file: TestApp.ned
- import inet.applications.contract.IUDPApp;
- simple TestApp like IUDPApp
- {
- gates:
- input udpIn;
- output udpOut;
- }
- %inifile: omnetpp.ini
- [General]
- ned-path = .;../../../../src;../../lib
- network = SimpleTestNetwork
- cmdenv-express-mode = false
- cmdenv-log-prefix = "C:%C: "
- #omnetpp 5.0 - 5.1 compatibility:
- eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
- output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
- output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
- snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
- **.client.numUdpApps = 1
- **.client.udpApp[0].typename = "TestApp"
- **.client.udpApp[0].cmdenv-log-level=TRACE
- %contains: stdout
- C:(TestApp)SimpleTestNetwork.client.udpApp[0]: UDPSocket: Send (omnetpp::cMessage)SetMulticastLoop control info: (inet::UDPSetMulticastLoopCommand)
- C:(TestApp)SimpleTestNetwork.client.udpApp[0]: UDPSocket: Send (omnetpp::cMessage)CONNECT control info: (inet::UDPConnectCommand)
- C:(TestApp)SimpleTestNetwork.client.udpApp[0]: UDPSocket: Send (omnetpp::cMessage)BIND control info: (inet::UDPBindCommand)
- C:(TestApp)SimpleTestNetwork.client.udpApp[0]: UDPSocket: Send (omnetpp::cMessage)CONNECT control info: (inet::UDPConnectCommand)
- %contains-regex: stdout
- C:\(UDP\)SimpleTestNetwork\.client\.udp: Socket created: sockId=2 appGateIndex=0 localPort=1025
- .*
- C:\(UDP\)SimpleTestNetwork\.client\.udp: Socket connected: sockId=2 appGateIndex=0 localPort=1025 remotePort=1000 remoteAddr=10\.0\.0\.1 multicastLoop=0
- .*
- C:\(UDP\)SimpleTestNetwork\.client\.udp: Socket connected: sockId=2 appGateIndex=0 localPort=100 remotePort=2000 remoteAddr=10\.0\.0\.2 multicastLoop=0
- %#--------------------------------------------------------------------------------------------------------------
- %not-contains: stdout
- undisposed object:
- %not-contains: stdout
- -- check module destructor
- %#--------------------------------------------------------------------------------------------------------------
|