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

  • 大小: 1.22MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-15
  • 語言: 其他
  • 標簽:

資源簡介

實驗一.doc 對于滑動窗口協議的介紹 a) 窗口機制 b) 1比特滑動窗口協議 c) 后退n協議 d) 選擇重傳協議 實驗一:實驗報告.doc 說明了試驗過程和總結等。 SlideWindowSender.exe :發送窗口演示程序 SlideWindowReceiver.exe : 接收窗口演示程序 SlideWindowReceiver:發送窗口源碼 SlideWindowSender:接收窗口源碼 這只是個模擬程序。

資源截圖

代碼片段和文件信息

#include?“common.h“

#define?RECEIVE_MAX_LENGTH?100
#define?SEND_MAX_LENGTH?100

//void?(interrupt?far?*oldhandler)();

void?main()
{
Begin:
????WORD?wVersionRequested;
????WSADATA?wsaData;
????int?err;
????
????wVersionRequested?=?MAKEWORD(?1?1?);
????
????err?=?WSAStartup(?wVersionRequested?&wsaData?);
????if?(?err?!=?0?)?
????{
Sleep(SLEEPMS);
????????return;
????}
????
????if?(?LOBYTE(?wsaData.wVersion?)?!=?1?
????????????||?HIBYTE(?wsaData.wVersion?)?!=?1?)
????{
????????WSACleanup(?);
Sleep(SLEEPMS);
????????return;?
????}

????SOCKET??socksrv?=?socket(AF_INETSOCK_STREAM0);//監聽的套接字
????SOCKADDR_IN?socketadd;
????socketadd.sin_addr.S_un.S_addr?=?htonl(INADDR_ANY);
????socketadd.sin_family?=?AF_INET;
????socketadd.sin_port?=?htons(7001);????

????if(?SOCKET_ERROR?==?bind(socksrv(SOCKADDR*)&socketaddsizeof(SOCKADDR))?)
????{
????????printf(“bind?err\n“);
WSACleanup(?);
Sleep(SLEEPMS);
????????return;
????}

????if(?SOCKET_ERROR?==?listen(socksrv5)?)
????{
????????printf(“listen?err“);
WSACleanup(?);
Sleep(SLEEPMS);
????????return;
????}
????
????SOCKADDR_IN?sockclient;
????int?len?=?sizeof(SOCKADDR);
????
????SOCKET?sockconn?=?accept(socksrv(SOCKADDR*)&sockclient&len);//建立連接的套節字
????if(INVALID_SOCKET?==?sockconn?)
????{
????????printf(“acc?err\n“);
WSACleanup(?);
Sleep(SLEEPMS);
????????return;
????}

????char?sendData[SEND_MAX_LENGTH];
memset(sendData?0?SEND_MAX_LENGTH);
????sprintf(sendData“%s““hello?sender?i\‘m?receiver“);

????if(?SOCKET_ERROR?==?send(sockconnsendDatastrlen(sendData)+10)?)
????{
????????printf(“send?welcome?err\n“);
WSACleanup(?);
closesocket(sockconn);
Sleep(SLEEPMS);
????????return;
????}

????char?getData[RECEIVE_MAX_LENGTH];
memset(getData?0?RECEIVE_MAX_LENGTH);
????recv(sockconngetDataRECEIVE_MAX_LENGTH0);
????printf(“%s\n“getData);

printf(“1bit滑動窗口協議:接收方,接收窗口=1\n“);

linkQueue?QueueQ;
InitLine(&QueueQ);

frame?packetreceive;?//data
frame?packetsend;?//?acknak

//初始化接收窗口
int?curw?=?GetframeFromHost(&QueueQ);
int?ret?=?0;?
while(1)
{
//接收數據幀
memset(&packetreceive?0?sizeof(packetreceive));
Sleep(SLEEPMS);
printf(“\n“);
ret?=?recv(sockconn(char?*)&packetreceive?sizeof(packetreceive)?0);
if(ret?==?SOCKET_ERROR?||?ret?==?SOCKET_DISCONN)
{
if(ret?==?SOCKET_ERROR)
{
cprintf(“recv?err!?Auto?continue\n“);?
//while?(!kbhit())?{?/*?do?nothing?*/?};?
continue;
}
else
{
cprintf(“連接已斷開,按q退出,其他鍵等待新的連接\n“);?
//while?(!(kbc?=?kbhit()))?{?/*?do?nothing?*/?};?
int?kbc?=?getch();
if(kbc?==?‘q‘?||?kbc?==?‘Q‘)
break;
else?
{
WSACleanup(?);
closesocket(sockconn);
Sleep(SLEEPMS);
goto?Begin;
}
}
}
srand((unsigned)time(NULL));
switch(rand()?%?5)?//假定產生隨機結果,20%的概率校驗錯誤或接收發送方超時
{
case?0:
printf(“frame?received:?%d?%d,校驗錯誤\n“?packetreceive.h

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????83968??2010-04-16?19:09??實驗一.doc

?????文件??????48640??2010-04-05?20:26??SlideWindowSender\SlideWindowSender.opt

?????文件????1975296??2010-04-05?20:21??SlideWindowSender\Bin\SlideWindowSender.bsc

?????文件???????1011??2010-04-04?23:26??SlideWindowSender\Src\common.h

?????文件???????5340??2010-04-06?13:40??SlideWindowSender\Src\Sender.cpp

?????文件???????1709??2010-04-03?23:38??SlideWindowSender\Src\SliderWindow.cpp

?????文件???????1630??2010-04-05?20:21??SlideWindowSender\SlideWindowSender.plg

?????文件????????540??2010-04-02?21:12??SlideWindowSender\SlideWindowSender.dsw

?????文件??????58368??2010-04-05?20:26??SlideWindowSender\SlideWindowSender.ncb

?????文件???????4609??2010-04-03?12:11??SlideWindowSender\SlideWindowSender.dsp

?????文件??????48640??2010-04-05?20:20??SlideWindowReceiver\SlideWindowReceiver.opt

?????文件???????4653??2010-04-03?22:08??SlideWindowReceiver\SlideWindowReceiver.dsp

?????文件??????66560??2010-04-05?20:20??SlideWindowReceiver\SlideWindowReceiver.ncb

?????文件????1975296??2010-04-05?20:19??SlideWindowReceiver\Bin\SlideWindowReceiver.bsc

?????文件???????1198??2010-04-05?00:12??SlideWindowReceiver\Src\common.h

?????文件???????6398??2010-04-05?00:19??SlideWindowReceiver\Src\Receiver.cpp

?????文件???????2545??2010-04-05?01:28??SlideWindowReceiver\Src\SliderWindow.cpp

?????文件???????1654??2010-04-05?20:19??SlideWindowReceiver\SlideWindowReceiver.plg

?????文件????????544??2010-04-03?00:04??SlideWindowReceiver\SlideWindowReceiver.dsw

?????文件?????200789??2010-04-05?20:19??SlideWindowReceiver.exe

?????文件?????196689??2010-04-05?20:21??SlideWindowSender.exe

?????文件?????169984??2010-04-05?20:59??實驗一:實驗報告.doc

?????目錄??????????0??2010-04-02?20:25??SlideWindowSender\Bin

?????目錄??????????0??2010-04-02?20:26??SlideWindowSender\Src

?????目錄??????????0??2010-04-02?20:17??SlideWindowReceiver\Bin

?????目錄??????????0??2010-04-02?20:18??SlideWindowReceiver\Src

?????目錄??????????0??2010-04-02?20:25??SlideWindowSender

?????目錄??????????0??2010-04-02?20:15??SlideWindowReceiver

-----------?---------??----------?-----??----

??????????????4856061????????????????????28

............此處省略1個文件信息

評論

共有 條評論