📄 telnetclient.cpp
字号:
//
// This file is part of an OMNeT++/OMNEST simulation example.
//
// Copyright (C) 1992-2005 Andras Varga
//
// This file is distributed WITHOUT ANY WARRANTY. See the file
// `license' for details on this and other legal matters.
//
#include <omnetpp.h>
#include "telnetpkt_m.h"
/**
* Simple model of a Telnet client.
*/
class TelnetClient : public cSimpleModule
{
private:
int addr;
int srvAddr;
protected:
virtual void initialize();
virtual void handleMessage(cMessage *msg);
void simulateUserTyping();
void processEcho(TelnetPkt *telnetPkt);
};
Define_Module(TelnetClient);
void TelnetClient::initialize()
{
addr = par("addr");
srvAddr = par("srvAddr");
cMessage *timer = new cMessage("timer");
scheduleAt(simTime()+par("sendIaTime").doubleValue(), timer);
}
void TelnetClient::handleMessage(cMessage *msg)
{
if (msg->isSelfMessage())
{
simulateUserTyping();
scheduleAt(simTime()+par("sendIaTime").doubleValue(), msg);
}
else
{
processEcho(check_and_cast<TelnetPkt *>(msg));
}
}
void TelnetClient::simulateUserTyping()
{
// send telnet packet
TelnetPkt *telnetPkt = new TelnetPkt("x");
telnetPkt->setPayload("x");
telnetPkt->setDestAddress(srvAddr);
telnetPkt->setSrcAddress(addr);
send(telnetPkt,"out");
}
void TelnetClient::processEcho(TelnetPkt *telnetPkt)
{
delete telnetPkt;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -