亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? arq_r.cpp

?? ARQ協(xié)議的實(shí)驗(yàn)。可以通過(guò)次軟件來(lái)模擬ARQ協(xié)議.
?? CPP
字號(hào):
// ARQ_r.cpp : Defines the entry point for the application.
//=========================================================================
//陳家琪,計(jì)算機(jī)網(wǎng)絡(luò)課程,理想信道的數(shù)據(jù)鏈路層協(xié)議,接收端程序

//=========================================================================
//VC 6.0   add  WSOCK32.LIB in Project -> Settings... ->  Link
#include <winsock.h>
//-------------------------------------------------------------------------
// Global Variables:
HINSTANCE hInst;				// 實(shí)例句柄,方便各程序訪問(wèn)
HWND hWnd;						// 主窗口句柄,方便各程序訪問(wèn)
char Title[]=" 接收端[8888]-理想信道 ";	// 窗口標(biāo)題 The title bar text
int WinX0=300,WinY0=10,WinW=200,WinH=300;	// 窗口位置、大小

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//-------------------------------------------------------------------------
int APIENTRY WinMain(HINSTANCE hI,HINSTANCE hP,LPSTR lp,int nC)
{
	MSG msg;
	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_APPLICATION);
	wc.hbrBackground	= (HBRUSH)(COLOR_BTNFACE+1);
	wc.lpszClassName	= "Win32API";
	RegisterClass(&wc);
//特殊窗口1,始終在頂層,任務(wù)欄不顯示。
	hWnd=CreateWindowEx(WS_EX_PALETTEWINDOW,"Win32API",Title,
		WS_DLGFRAME|WS_CAPTION|WS_SYSMENU,
		WinX0,WinY0,WinW,WinH,			// 窗口位置、大小
		NULL,NULL,hI,NULL);

   	if (!hWnd)   return FALSE;

   	ShowWindow(hWnd, nC);
	// Main message loop:
	while (GetMessage(&msg, NULL, 0, 0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}
//-------------------------------------------------------------------------
//按鈕
HWND CreateButton(char *Titel,int x0,int y0,int w,int h,int ID,HWND hW,HINSTANCE hInst)
{
	return CreateWindowEx(WS_EX_PALETTEWINDOW,"BUTTON",Titel,
		WS_VISIBLE | WS_CHILD ,
		x0,y0,w,h, hW,(HMENU)ID,hInst,NULL);
}
//-------------------------------------------------------------------------
//單行編輯框
HWND CreateEdit(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 |
		    ES_LEFT | ES_MULTILINE | WS_HSCROLL ,
		x0,y0,w,h, hW,
		(HMENU)ID,hInst,NULL);
}
//-------------------------------------------------------------------------
//多行文本框
HWND CreateMemo(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 |
		    ES_LEFT | ES_MULTILINE |ES_READONLY|
		    WS_HSCROLL | WS_VSCROLL,
		x0,y0,w,h,
		hW,(HMENU)ID,hInst,NULL);
}
//-------------------------------------------------------------------------
//向多行文本框中添加文本
void Puts(HWND hW,int ID_EDIT,char *str)
{
	int nLen=GetWindowTextLength(GetDlgItem(hW,ID_EDIT));
	SendMessage(GetDlgItem(hW,ID_EDIT),EM_SETSEL,nLen,nLen);
	SendMessage(GetDlgItem(hW,ID_EDIT),EM_REPLACESEL,TRUE,(long)(LPCTSTR)str);
	nLen=GetWindowTextLength(GetDlgItem(hW,ID_EDIT));
	SendMessage(GetDlgItem(hW,ID_EDIT),EM_SETSEL,nLen,nLen);
	SendMessage(GetDlgItem(hW,ID_EDIT),EM_REPLACESEL,TRUE,(long)(LPCTSTR)"\r\n");
}
//-------------------------------------------------------------------------
void wlc(BYTE Fram);
//按鈕
#define BUTTON1 501
#define BUTTON2 502
//單行編輯框
#define EDIT1 601
//多行文本框
#define MEMO1 801
#define MEMO2 802
//-------------------------------------------------------------------------
WSADATA ws;
SOCKET Cs1,Cs2;
struct sockaddr_in Cs1A,Cs2A;
char aa[200];
char bb[200];
int d,i;
#define Cs2Port 7777		//遠(yuǎn)程端口
#define Cs1Port 8888		//本地端口
#define Cs1IP   "127.0.0.1"	//本地網(wǎng)址
#define Cs2IP   "127.0.0.1"	//遠(yuǎn)程網(wǎng)址
//以上不需改動(dòng)!
//-------------------------------------------------------------------------
//你可以在這里定義變量
void wlcSend(BYTE c);	//物理層:發(fā)送一個(gè)字節(jié)
BYTE wlcRev();			//物理層:接收一個(gè)字節(jié)
//-------------------------------------------------------------------------
//消息處理
LRESULT CALLBACK WndProc(HWND hW, UINT msg, WPARAM wP, LPARAM lP)
{
	switch (msg)
	{
	case WM_DESTROY:
		WSAAsyncSelect(Cs1, hW, 0, 0);
		closesocket(Cs1);
		WSACleanup( );
		PostQuitMessage(0);
		break;
	case WM_CREATE:
		WSAStartup(0x0101,&ws);
		Cs1=socket(AF_INET, SOCK_DGRAM,0);
		Cs1A.sin_family=AF_INET;
		Cs1A.sin_port = htons(Cs1Port);
//		Cs1A.sin_addr.s_addr =INADDR_ANY;//在本機(jī)設(shè)置的網(wǎng)址(可能多個(gè))中,都有效。
		Cs1A.sin_addr.s_addr =inet_addr(Cs1IP);
		d=bind(Cs1,(struct sockaddr *) &Cs1A,sizeof(Cs1A));
		if(d==-1)
		{
			MessageBox(0,"端口發(fā)生沖突","數(shù)字信道仿真",0);
			PostQuitMessage(0);
		}
		Cs2A.sin_family=AF_INET;
		Cs2A.sin_port = htons(Cs2Port);
		Cs2A.sin_addr.s_addr =inet_addr(Cs2IP);
		WSAAsyncSelect(Cs1,hW,WM_USER+1,FD_READ);
		Beep(2000,100);

		CreateEdit("接收端",2,2,130,20,EDIT1,hW,hInst);
		CreateButton("Quit", 140,2,50,16,BUTTON1,hW,hInst);
		CreateButton("Reset",140,30,50,16,BUTTON2,hW,hInst);
		CreateMemo("物理層收\(chéng)r\n到的信息\r\n",3,50,90,220,MEMO1,hW,hInst);
		CreateMemo("上交網(wǎng)絡(luò)\r\n層的信息\r\n",100,50,90,220,MEMO2,hW,hInst);

		break;
//============================================================================
//接收消息事件:
//你可以在這里編寫代碼:
	case WM_USER+1:
		switch(LOWORD(lP))
		{
		case FD_READ:
			bb[0]=wlcRev();			//物理層:接收一個(gè)字節(jié)
			bb[1]=0;
			char buf[22];
			wsprintf(buf,"%02XH",(unsigned char)bb[0]);
			Puts(hW,MEMO1,buf);		//顯示,物理層收到的信息
            

			bb[0]=(bb[0]&0x0F)+0x30;//去掉高4位內(nèi)容,低4位轉(zhuǎn)為ASCII碼
			Puts(hW,MEMO2,bb);		//顯示,上交網(wǎng)絡(luò)層的信息
			break;
		}
		break;
	case WM_COMMAND:
		switch(wP)
		{
		case BUTTON1:				//退出程序
			PostQuitMessage(0);
			break;
		case BUTTON2:				//清除信息框內(nèi)容
			SetDlgItemText(hW,MEMO1,(LPSTR) "物理層收\(chéng)r\n到的信息\r\n");
			SetDlgItemText(hW,MEMO2,(LPSTR) "上交網(wǎng)絡(luò)\r\n層的信息\r\n");
			break;
		}
	}
	return DefWindowProc(hW,msg,wP,lP);
}
//-------------------------------------------------------------------------
void wlcSend(BYTE c)	//物理層:發(fā)送一個(gè)字節(jié)
{
char a[2];
	a[0]=c; a[1]=0;
	d = sizeof(Cs2A);
	sendto(Cs1,a,strlen(a),0,(struct sockaddr *) &Cs2A,d);
}
//-------------------------------------------------------------------------
BYTE wlcRev()			//物理層:接收一個(gè)字節(jié)
{
char b[1];
	d = sizeof(Cs2A);
	d=recvfrom(Cs1,b,1,0,(struct sockaddr *) &Cs2A,&d);
	return b[0];
}
//-------------------------------------------------------------------------

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产a久久久久久| 国产精品系列在线观看| 亚洲综合色丁香婷婷六月图片| 中文字幕乱码亚洲精品一区| 日本一区二区成人| 亚洲欧洲av在线| 日韩一区日韩二区| 亚洲欧美日韩系列| 亚洲综合男人的天堂| 午夜欧美2019年伦理| 免费在线观看一区| 精品在线观看视频| 国产精品白丝jk黑袜喷水| 国产成人午夜精品影院观看视频| 成人午夜在线播放| 在线观看日韩av先锋影音电影院| 欧洲亚洲精品在线| 911精品国产一区二区在线| 日韩午夜在线影院| 国产女主播在线一区二区| 国产精品女主播av| 亚洲国产成人av| 激情综合网天天干| 成人av网站在线| 欧美日韩一级大片网址| 欧美一区二区三区公司| 欧美韩日一区二区三区| 亚洲人成7777| 日韩高清中文字幕一区| 国产一区二区伦理| 色婷婷国产精品综合在线观看| 777久久久精品| 国产亚洲一二三区| 亚洲精品久久7777| 久久精品国产亚洲a| 97se亚洲国产综合自在线不卡| 国产乱人伦偷精品视频免下载| 91蜜桃婷婷狠狠久久综合9色| 欧美中文字幕亚洲一区二区va在线| 欧美日本乱大交xxxxx| 久久亚洲欧美国产精品乐播| 亚洲青青青在线视频| 天堂一区二区在线| 福利一区二区在线| 欧美喷水一区二区| 国产精品国产三级国产三级人妇 | 日韩久久精品一区| 中文字幕一区二区三区蜜月| 亚洲一级片在线观看| 国产一区二区成人久久免费影院| 91免费视频网址| 精品久久五月天| 亚洲精品成人精品456| 国产一区二区三区在线观看精品 | 欧美最猛性xxxxx直播| 2023国产一二三区日本精品2022| 免费成人性网站| 国产一区二区女| 色婷婷av一区| 久久久久国产精品免费免费搜索| 一区二区在线看| 丁香婷婷综合激情五月色| 欧美日韩一级黄| 国产精品超碰97尤物18| 狠狠色狠狠色综合| 欧美欧美欧美欧美| 樱桃国产成人精品视频| 国产盗摄视频一区二区三区| 日韩一级片在线播放| 亚洲国产日韩一级| 91香蕉国产在线观看软件| 国产视频一区二区三区在线观看| 日韩—二三区免费观看av| 在线精品视频小说1| 国产精品福利av| 成人免费黄色大片| 久久久综合视频| 精品一区二区三区影院在线午夜 | 亚洲精品一线二线三线无人区| 一区二区三区免费看视频| av亚洲精华国产精华精| 国产视频不卡一区| 国产欧美日韩中文久久| 亚洲激情图片一区| 欧美精品一区二区三区久久久 | 中文子幕无线码一区tr| 久久超级碰视频| 欧美美女喷水视频| 亚洲男女毛片无遮挡| www.在线成人| 国产欧美久久久精品影院| 国产美女久久久久| 久久久久久久综合日本| 国内精品嫩模私拍在线| 精品国产伦理网| 国产精品自拍网站| 久久午夜国产精品| 国产米奇在线777精品观看| 欧美成人乱码一区二区三区| 免费在线看一区| 日韩一区二区三区精品视频| 青青草视频一区| 日韩免费一区二区| 国产一区二区三区| 欧美激情一区在线观看| 国产夫妻精品视频| 91精品国产aⅴ一区二区| 欧美在线视频不卡| 欧美色图在线观看| 亚洲成人av电影| 欧美喷潮久久久xxxxx| 亚洲成人三级小说| 日韩亚洲欧美一区| 九一九一国产精品| 久久精品一区二区三区不卡牛牛| 国产福利一区二区| 综合av第一页| 欧美性三三影院| 青青草国产精品亚洲专区无| 精品女同一区二区| 国产成人免费高清| 亚洲视频免费观看| 欧美日韩一区在线观看| 日韩影院免费视频| xf在线a精品一区二区视频网站| 国产资源在线一区| 国产精品国产三级国产三级人妇 | 成人免费观看视频| 又紧又大又爽精品一区二区| 欧美精品tushy高清| 精品一二三四在线| 国产精品丝袜黑色高跟| 欧美午夜不卡视频| 极品少妇xxxx偷拍精品少妇| 欧美国产日产图区| 欧美中文字幕一区二区三区| 午夜成人在线视频| 国产人成亚洲第一网站在线播放| 91免费看片在线观看| 日韩制服丝袜先锋影音| 久久久久久久电影| 欧洲一区二区三区免费视频| 麻豆91精品视频| 国产精品日韩精品欧美在线| 欧美性极品少妇| 国产老女人精品毛片久久| 亚洲精品视频一区| 欧美成人精品3d动漫h| 99精品视频一区二区三区| 五月天精品一区二区三区| 久久综合久久综合久久| 日本大香伊一区二区三区| 韩国v欧美v日本v亚洲v| 亚洲三级在线看| 精品无码三级在线观看视频| 国产东北露脸精品视频| 91偷拍与自偷拍精品| 欧美高清视频www夜色资源网| 欧美一区二区在线播放| 高清国产午夜精品久久久久久| 亚洲一区在线观看视频| 亚洲精品在线免费播放| 色天使久久综合网天天| 国产很黄免费观看久久| 亚洲国产精品一区二区久久| 国产日本亚洲高清| 91精品国产综合久久久久久久久久 | 中文字幕一区二区三区乱码在线 | 日韩亚洲欧美一区二区三区| 一本一道久久a久久精品| 国产一区二区视频在线播放| 亚洲成年人网站在线观看| 中文字幕一区二区三| 精品蜜桃在线看| 欧美日韩亚洲另类| 91丨porny丨首页| 国产成人综合网| 精品一区二区免费看| 三级不卡在线观看| 一区二区三区四区激情| 日本一区二区三区国色天香| 欧美午夜一区二区三区| 99久久精品一区二区| 日本不卡一区二区三区| 亚洲视频免费在线观看| 国产精品久久久久久久久晋中 | 欧洲精品一区二区| 99热精品国产| www.欧美.com| 成人一区二区在线观看| 国产高清在线观看免费不卡| 麻豆一区二区三区| 日韩高清国产一区在线| 婷婷国产v国产偷v亚洲高清| 一区二区三区四区不卡视频| 中文字幕精品一区二区精品绿巨人 | 国产精品久线在线观看| 日本一区二区三区免费乱视频| 久久人人爽人人爽| 日韩精品一区二|