1 / 15
文档名称:

实验5 滑动窗口实验实验报告.doc

格式:doc   大小:359KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验5 滑动窗口实验实验报告.doc

上传人:zxwziyou9 2022/3/14 文件大小:359 KB

下载得到文件列表

实验5 滑动窗口实验实验报告.doc

文档介绍

文档介绍:滑动窗口实验
实验目的
实现一个滑动窗口协议的数据传送部分,目的在于使学生更好地理解基本滑动窗口协议的基本工作原理,掌握计算机网络协议的基本实现技术。
实验原理
(1)窗口机制
滑动窗口协议的基本原理就是在任意时刻,发送方都维ONG m_nRecvNow;
CProgressCtrlm_proSend;
CProgressCtrlm_proReceive;
};
// : 实现文件
#include ""
#include ""
#include ""
#include ""
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
typedefstruct
{
CHAR szIdentify[8];
TCHAR szName[MAX_PATH];
ULONGLONG nLength;
} HEADE;
// 用于应用程序“关于”菜单项的CAboutDlg对话框
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
// CSlidingWindowDlg对话框
CSlidingWindowDlg::CSlidingWindowDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSlidingWindowDlg::IDD, pParent)
, m_szDestination(_T("localhost"))
, m_szSendFile(_T(""))
, m_szSavePath(_T(""))
, m_nDestPort(52520)
, m_nLocalPort(52520)
, m_nRecvFileSize(0)
, m_nRecvNow(0)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CSlidingWindowDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_DESTINATION, m_szDestination);
DDX_Text(pDX, IDC_SEND_FILE, m_szSendFile);
DDX_Text(pDX, IDC_SAVE_PATH, m_szSavePath);
DDX_Text(pDX, IDC_DESTINATION_PORT, m_nDestPort);
DDV_MinMaxUInt(pDX, m_nDestPort, 1, 65535);
DDX_Control(pDX, IDC_LIST_SEND, m_listSend);
DDX_Control(pDX, IDC_LIST_RECEIVE, m_listReceive);
DDX_Text(pDX, IDC_OWN_PORT, m_nLocalPort);
DDV_MinMaxUInt(pDX, m_nLocalPort, 1, 65535);
DDX_Control(pDX, IDC_PROGRESS_RECEIVE, m_proReceive);
DDX_Control(pDX, IDC_PROGRESS_SEND, m_proSend);
}
BEGIN_MESSAGE_MAP(CSlidingWindowDl