1 / 20
文档名称:

可靠数据传输协议rdt模拟实现.docx

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

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

分享

预览

可靠数据传输协议rdt模拟实现.docx

上传人:温柔的兰花 2022/4/6 文件大小:260 KB

下载得到文件列表

可靠数据传输协议rdt模拟实现.docx

相关文档

文档介绍

文档介绍:可靠数据传输协议 rdt 模拟实现
可靠的数据传输协议 rdt 的模拟实现
姓名: 陈 锋学号:25
一、实验目的:
加深
办理服务央求
Write()
应答数据
Close()

connect()
Write()
Read()
Close()
图 3、 Socket 编程模拟实现 rdt 协议的流程图
五、主要程序片段
重要的数据结构— class CRcvSocket 和 class CSndSocket
类 class CRcvSocket ,用于服务器端的 Socket 通信。
3/10
可靠数据传输协议 rdt 模拟实现
class CRcvSocket : public CSocket
{
Attributes public:
Operations public:
CRcvSocket();
virtual ~CRcvSocket();
Overrides public:
void SetNotifyWnd(HWND hNtf); void SetNotifyMsg(UINT uMsg);
private:
HWND hNotifyWnd; UINT uNotifyMsg;
};
类 class CSndSocket ,用于客户端的 Socket 通信
class CSndSocket : public CSocket
{
Attributes public:
Operations public:
CSndSocket();
virtual ~CSndSocket();
Overrides
4/10
可靠数据传输协议 rdt 模拟实现
public:
void SetRcvNotifyMsg(UINT nMsg);
UINT uRcvMsg;
void SetNotifyWnd(HWND hNtf);
private:
HWND hNotifyWnd;
};
建立套接字
无论是客户端程序,还是服务器端程序,都需要在运行的时候去建立套接字。
唯一的差异是: 服务器端建立一个套接字, 尔后开始无量循环; 每当它经过循环
接收到一个连接, 则打印出一个信息, 客户端建立套接字, 尔后与命令行给出的
套接字连接;连接结束时,在连接上发送 一个信息,尔后关闭套接字。
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0) {
perror( “ openingstream socket ” );
exit(1); }
在客户端中,使用命令行中指定的名字连接套接字
= AF_INET;
hp = gethostbyname(argv[1]);
if (hp == 0) {
fprintf(stderr, “ %s n”,argv[1]);
exit(2);
}
memcpy((char*)&, (char*)hp->;h_addr, hp->;h_length);
= htons(atoi(argv[2]));
5/10
可靠数据传输协议 rdt 模拟实现