• 大小: 28.41MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-03
  • 语言: C/C++
  • 标签: ARQ  C语言  

资源简介

C语言模拟ARQ程序(停等式),本程序为压缩的工程文件,解压后即可修改源代码,附有生成的EXE文件,窗口为WINAPI创建,具体通信由SOCKET实现,并且兼具有通信计时功能。

资源截图

代码片段和文件信息

//=========================================================================
// 停等式ARQ_s.cpp : Defines the entry point for the application.
// 通信网络,理想信道的数据链路层停等式ARQ协议,接收端程序
// VC 2013    2015.11.29   
// 13020013 
// 曹振翔
//=========================================================================
#include 
//-------------------------------------------------------------------------
// Global Variables:
HINSTANCE hInst; // 实例句柄,方便各程序访问
HWND hWnd; // 主窗口句柄,方便各程序访问
char title[] = “ 停等式ARQ接收端 “; // 窗口标题 The title bar text
int WinX0 = 550 WinY0 = 200 WinW = 500 WinH = 400; // 窗口位置、大小

LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);
//-------------------------------------------------------------------------
int APIENTRY WinMain(HINSTANCE hI HINSTANCE hP LPSTR lp int nC)
{
MSG msg;//信息存储数组,tagMSG类型
hInst = hI; // Store instance handle in our global variable
WNDCLASS wc;//窗口类

memset(&wc 0 sizeof(WNDCLASS));//在一段内存块中填充某个给定的值,清零操作的快速方法

wc.lpfnWndProc = (WNDPROC)WndProc;//窗口处理函数
wc.hInstance = hI;//窗口对应实例句柄
wc.hIcon = LoadIcon(NULL IDI_WINLOGO);//窗口的最小化图标
wc.hbrBackground = (HBRUSH)(COLOR_INACTIVECAPTION);//窗口背景色浅蓝
wc.lpszClassName = “Win32API“;//窗口类名
RegisterClass(&wc);//用RegisterClassA来注册窗口,应用程序通知系统被注册类的窗口的消息使用ANSI字符集的文本和字符参数
//特殊窗口1,始终在顶层,任务栏不显示。
hWnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW “Win32API“ title//窗口的扩展风格,指向注册类名的指针,指向窗口名称的指针
WS_OVERLAPPEDWINDOW//窗口风格:带对话框边框风格的窗口| 窗口具有标题栏|标题条上具有控制菜单(要有叉叉)的窗口
WinX0 WinY0 WinW WinH // 窗口位置、大小
NULL NULL hI NULL);//父窗口的句柄,菜单的句柄或是子窗口的标识符,应用程序实例的句柄,指向窗口的创建数据
//Store window handle in our global variable

if (!hWnd)   return FALSE;//窗口创建失败

ShowWindow(hWnd nC);
// Main message loop:
while (GetMessage(&msg NULL 0 0))//从线程里取一个数,返回非0值
{

TranslateMessage(&msg);//将虚拟键消息转换为字符消息
DispatchMessage(&msg);//将消息传给窗口,再由窗口按表进行翻译
//j++;

}
return msg.wParam;
}
//-------------------------------------------------------------------------
//按钮
HWND CreateButton(char *Titelint x0int y0int wint hint IDHWND hWHINSTANCE hInst)
{
return CreateWindowEx(WS_EX_PALETTEWINDOW“BUTTON“Titel
WS_VISIBLE | WS_CHILD 
x0y0wh hW(HMENU)IDhInstNULL);
}
//-------------------------------------------------------------------------
//单行编辑框
HWND CreateEdit(char *Titelint x0int y0int wint hint IDHWND hWHINSTANCE hInst)
{
return CreateWindowEx(WS_EX_CLIENTEDGE“EDIT“Titel
WS_VISIBLE | WS_CHILD |
    ES_LEFT | ES_MULTILINE 
x0y0wh hW
(HMENU)IDhInstNULL);
}
//-------------------------------------------------------------------------
//单行文本
HWND CreateText(char *Titel int x0 int y0 int w int h int ID HWND hW HINSTANCE hInst)
{
return CreateWindowEx(WS_EX_CLIENTEDGE “EDIT“ Titel
WS_VISIBLE |
WS_CHILD
x0 y0 w h hW
(HMENU)ID hInst NULL);
}
//-------------------------------------------------------------------------
//多行文本框
HWND CreateMem

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-12-09 16:56  ARQ程序 停等式(正确)\
     目录           0  2015-12-17 10:08  ARQ程序 停等式(正确)\ARQ0\
     文件         734  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ.dsw
     文件       58368  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ.ncb
     文件       58880  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ.opt
     文件    28180480  2015-12-17 10:08  ARQ程序 停等式(正确)\ARQ0\ARQ.sdf
     文件        1780  2015-12-03 15:09  ARQ程序 停等式(正确)\ARQ0\ARQ.sln
     文件       29184  2015-12-17 10:08  ARQ程序 停等式(正确)\ARQ0\ARQ.v12.suo
     目录           0  2015-12-10 17:42  ARQ程序 停等式(正确)\ARQ0\ARQ_r\
     文件        9080  2015-12-10 17:42  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.cpp
     文件        4010  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.dsp
     文件         535  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.dsw
     文件       58368  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.ncb
     文件          24  2015-12-03 11:26  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.opensdf
     文件       53760  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.opt
     文件         246  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.plg
     文件    23810048  2015-12-03 11:27  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.sdf
     文件         876  2015-12-02 21:59  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.sln
     文件       13312  2015-12-02 21:59  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.suo
     文件        6843  2015-12-03 15:09  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.vcxproj
     文件         901  2015-12-03 15:09  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.vcxproj.filters
     文件         143  2015-11-28 19:29  ARQ程序 停等式(正确)\ARQ0\ARQ_r\ARQ_r.vcxproj.user
     目录           0  2015-12-10 18:15  ARQ程序 停等式(正确)\ARQ0\ARQ_s\
     文件       11261  2015-12-10 18:15  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.cpp
     文件        4010  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.dsp
     文件         535  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.dsw
     文件       58368  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.ncb
     文件          24  2015-12-03 11:26  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.opensdf
     文件       53760  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.opt
     文件         246  2001-12-31 06:00  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.plg
     文件    23810048  2015-12-03 11:27  ARQ程序 停等式(正确)\ARQ0\ARQ_s\ARQ_s.sdf
............此处省略112个文件信息

评论

共有 条评论