#include <UDPAppBase.h>
Inheritance diagram for UDPAppBase:

Protected Member Functions | |
| virtual void | bindToPort (int port) |
| virtual void | sendToUDP (cMessage *msg, int srcPort, const IPvXAddress &destAddr, int destPort) |
| virtual void | printPacket (cMessage *msg) |
|
|
Tells UDP we want to get all packets arriving on the given port 00026 {
00027 EV << "Binding to UDP port " << port << endl;
00028
00029 // TODO UDPAppBase should be ported to use UDPSocket sometime, but for now
00030 // we just manage the UDP socket by hand...
00031 cMessage *msg = new cMessage("UDP_C_BIND", UDP_C_BIND);
00032 UDPControlInfo *ctrl = new UDPControlInfo();
00033 ctrl->setSrcPort(port);
00034 ctrl->setSockId(UDPSocket::generateSocketId());
00035 msg->setControlInfo(ctrl);
00036 send(msg, "to_udp");
00037 }
|
|
|
Prints a brief about packets having an attached UDPControlInfo (i.e. those which just arrived from UDP, or about to be send to UDP). 00057 {
00058 UDPControlInfo *ctrl = check_and_cast<UDPControlInfo *>(msg->controlInfo());
00059
00060 IPvXAddress srcAddr = ctrl->srcAddr();
00061 IPvXAddress destAddr = ctrl->destAddr();
00062 int srcPort = ctrl->srcPort();
00063 int destPort = ctrl->destPort();
00064
00065 ev << msg << " (" << msg->byteLength() << " bytes)" << endl;
00066 ev << srcAddr << " :" << srcPort << " --> " << destAddr << ":" << destPort << endl;
00067 }
|
|
||||||||||||||||||||
|
Sends a packet over UDP 00040 {
00041 // send message to UDP, with the appropriate control info attached
00042 msg->setKind(UDP_C_DATA);
00043
00044 UDPControlInfo *ctrl = new UDPControlInfo();
00045 ctrl->setSrcPort(srcPort);
00046 ctrl->setDestAddr(destAddr);
00047 ctrl->setDestPort(destPort);
00048 msg->setControlInfo(ctrl);
00049
00050 EV << "Sending packet: ";
00051 printPacket(msg);
00052
00053 send(msg, "to_udp");
00054 }
|
1.4.1