我的总体思路是:首先用C#语言在VS2010环境下设计一个控制台应用程序,进行调试、实验,最后再根据此模拟程序设计出Windows窗体应用程序。
由于我设计的控制台应用程序是模拟程序,因此我把发送方和接收方设计在同一版面上。它们各自的功能同时在同一版面上实现及显示。在程序代码实现后,我们可以通过在同一版面上的提示输入相关信息,便可得到模拟过程。再通过Windows窗体应用程序将控制台应用程序转化。
虽然只有一个版面,但是发送方和接收方的功能是清晰可见的。根据流程图的实现步骤,我编写了以下的程序代码。

4.3.1  发送方程序
本程序设有四个变量:一是窗口大小变量,二是第一帧序列号变量,三是最近发送的帧变量,四是最近收到的确认帧变量。
long a;
int flag, b;

sendq_slot sendq_rear = new sendq_slot();
sendq_slot sendp = new sendq_slot();
sendq_slot p3 = new sendq_slot();
sendq_slot p4 = new sendq_slot();

recvq_slot recvp = new recvq_slot();
recvq_slot recvq_rear = new recvq_slot();
recvq_slot p1 = new recvq_slot();
recvq_slot p2 = new recvq_slot();
swqstate1 Swpstate1 = new swqstate1();           //申明一系列的变量

Swpstate1.head = null; //变量初始值为空
Swpstate1.sendq = sendq_rear;
if (Swpstate1.sendq == null) Environment.Exit(0);
recvq_rear.next = null;
System.Console.Write("请输入窗口大小:");
Swpstate1.sws = long.Parse(System.Console.ReadLine()); //输入窗口大小
Swpstate1.rws = Swpstate1.sws; //把窗口大小的值赋给变量
if (Swpstate1.sws > 0)
{
      System.Console.Write("请输入第一帧的序号:");
      Swpstate1.hdr.seqnum = long.Parse(System.Console.ReadLine());//输入第一帧序号
上一篇:VC++opencv静止背景下运动视频对象的分割
下一篇:Matlab视频序列中的目标跟踪技术研究

Android邮件通信协议的研究与应用

流控制传輸协议SCTP的分析与研究【1047字】

J2ME平台的SOAP协议研究与應用【2420字】

使用http协议和winsockapi实现...

IPV6协议的网络安全机制【1475字】

基于Internet的远程控制协议的设计与实现

JAVA远程控制协议设计与实现

AES算法GPU协处理下分组加...

酵母菌发酵生产天然香料...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

从政策角度谈黑龙江對俄...

上海居民的社会参与研究

压疮高危人群的标准化中...

提高教育质量,构建大學生...

基于Joomla平台的计算机学院网站设计与开发

浅论职工思想政治工作茬...

浅谈高校行政管理人员的...