91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 22KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-12-03
  • 語言: 其他
  • 標簽:

資源簡介

模擬實現網絡中路由器進行分組轉發的過程。至少模擬3個路由器,3個路由器兩兩相通。 程序需要在主機功能中示發送和接收的數據的原始地址和目的地址,在路由器功能中顯示接收到的數據的原始地址和目的地址,當前路由表,查找到的路由記錄和轉發情況。

資源截圖

代碼片段和文件信息

#include?“host1.h“
#include?“ui_host1.h“

#define?H1_Ip?“127.0.0.1“
#define?H2_Ip?“127.0.1.1“
#define?H3_Ip?“127.0.2.1“

#define?R1_Ip?“127.0.0.11“
#define?R2_Ip?“127.0.1.11“
#define?R3_Ip?“127.0.2.11“

#define?H1_Port?1111
#define?H2_Port?1112
#define?H3_Port?1113

#define?R1_Port?11111
#define?R2_Port?11112
#define?R3_Port?11113

QString?HSource_ip;?//聲明發送方IP
QString?HS_Text;//聲明發送的消息
QString?Hdestiny_ip;?//?聲明目的IP
qint16?Hdestiny_port;?//聲明主機目的端口

QString?HRSource_ip;
QString?HR_Text;
QString?HRdestiny_ip;
qint16?HRdestiny_port;

int?H1choose?=1;//初始化選項,選擇目的主機,“2”為H2,“3”為H3

Host1::Host1(QWidget?*parent)?:
????QMainWindow(parent)
????ui(new?Ui::Host1)
{
????ui->setupUi(this);
????this->H1_Socket?=?new?QTcpSocket(this);//實例化一個套接字對象
????this->H1_Server?=?new?QTcpServer(this);//實例化?H1?Sever
????ui->SendEdit->setEnabled(false);//當未連接路由器時設置發送按鈕,發送框以及顯示窗口為不可用
????ui->Send->setEnabled(false);
????ui->Send_text->setEnabled(false);
????NewListen();
}


void?Host1::NewListen()

{
?????//監聽是否有客戶端來訪,且對任何來訪者監聽,端口為R1_Port

???if(!H1_Server->listen(QHostAddress(H1_Ip)H1_Port))
???{
???????????return;
???}
???else
???{
???????connect(H1_Server?SIGNAL(newConnection())?this?SLOT(acceptConnection()));
???}
}

void?Host1::acceptConnection()
{
????H1_Socket?=?H1_Server->nextPendingConnection();
????connect(H1_Socket?SIGNAL(readyRead())?this?SLOT(revdata()));
}

void?Host1::revdata()

{
????//接受信息
????QByteArray?datas?=?H1_Socket->readAll();
????HR_Text?=?QString(datas).section(“/“11);
????HRdestiny_ip?=?QString(datas).section(“/“22);
????HRdestiny_port?=?QString(datas).section(“/“33).toInt();
????HRSource_ip?=?QString(datas).section(“/“44);
????ui->Destiny->setText(HRdestiny_ip);
????ui->Source->setText(HRSource_ip);
????QString?FromHost;
????if(HRSource_ip?==?H2_Ip)
????????FromHost?=?“H2->H1:“;
????if(HRSource_ip?==?H3_Ip)
????????FromHost?=?“H3->H1:“;
????ui->Receive->setText(FromHost?+?HR_Text);
}


Host1::~Host1()
{
????delete?ui;
}

void?Host1::on_Quit_clicked()
{
????this->close();
}

void?Host1::on_Host2_clicked()
{
????if(H1choose?==?3)
????{
????????ui->Host3->setCheckState(Qt::Unchecked);

????}
????Hdestiny_ip?=?H2_Ip;
????Hdestiny_port?=?H2_Port;
????H1choose?=?2;
}

void?Host1::on_Host3_clicked()
{
????if(H1choose?==?2)
????{
????????ui->Host2->setCheckState(Qt::Unchecked);

????}
????Hdestiny_ip?=?H3_Ip;
????Hdestiny_port?=?H3_Port;
????H1choose?=?3;
}

void?Host1::not_Connected()
{
????QMessageBox::information(this“連接狀態““H1連接失敗!!“);
}

void?Host1::on_connect_clicked()
{

????H1_Socket->abort();//斷開所有連接
????H1_Socket->connectToHost(QHostAddress(H1_Ip)R1_Port);?//原本地址應該為R1_IP,為了連接本機,用H1_IP“127.0.0.1”
????bool?connected?=?H1_Socket->waitForConnected();
????if(!connected){
????????not_Connected();//連接失敗,提示
????}
????else//連接成功將發送按鈕和發送框以及顯示框置為可用
????{
????????ui->SendEdit->setEnabled(true);
????????ui->Send->setEnabled(true);
????????ui->Send_text->setEnabled(true);
????}

}

void?Host1::on_Send_clicked()
{
????/*//獲取本機計算機名稱
????QStri

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-01-16?16:14??Router_Socket\
?????文件?????????599??2016-12-21?22:10??Router_Socket\Network2.pro
?????文件???????18061??2016-12-23?13:05??Router_Socket\Network2.pro.user
?????文件????????4471??2016-12-21?21:41??Router_Socket\host1.cpp
?????文件?????????649??2016-12-21?21:13??Router_Socket\host1.h
?????文件????????5705??2016-12-21?15:30??Router_Socket\host1.ui
?????文件????????4114??2016-12-21?21:30??Router_Socket\host2.cpp
?????文件?????????648??2016-12-21?19:57??Router_Socket\host2.h
?????文件????????5171??2016-12-21?15:30??Router_Socket\host2.ui
?????文件????????4042??2016-12-21?23:24??Router_Socket\host3.cpp
?????文件?????????648??2016-12-21?22:20??Router_Socket\host3.h
?????文件????????5237??2016-12-21?22:09??Router_Socket\host3.ui
?????文件?????????418??2016-12-21?22:33??Router_Socket\main.cpp
?????文件????????4452??2016-12-22?13:47??Router_Socket\router1.cpp
?????文件?????????547??2016-12-21?23:01??Router_Socket\router1.h
?????文件????????4763??2016-12-21?20:49??Router_Socket\router1.ui
?????文件????????4401??2016-12-22?13:56??Router_Socket\router2.cpp
?????文件?????????525??2016-12-21?20:02??Router_Socket\router2.h
?????文件????????5016??2016-12-21?19:34??Router_Socket\router2.ui
?????文件????????4322??2016-12-22?13:56??Router_Socket\router3.cpp
?????文件?????????526??2016-12-21?22:29??Router_Socket\router3.h
?????文件????????4533??2016-12-21?22:20??Router_Socket\router3.ui

評論

共有 條評論

相關資源