资源描述:
《vc++网络程序设计实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、网络程序设计实例.1使用WinsockAPI设计网络程序的实例.2使用MFC类库进行网络程序设计的实例.3基于WinInetAPI的客户程序编写实例.4原始套接口(SOCK_RAW)程序设计实例.5广播通信与组播通信程序设计实例习题.1使用WinsockAPI设计网络程序的实例.1.1程序源代码1.UDP程序1的源代码//编程环境:VC6.0//程序说明:基于用户数据报协议UDP的程序实例//程序功能:在窗口中点击鼠标左键,则发送信息到端口号为6000的远程机上,并可以从端//口号6000的远程机接收数据#include"stdafx.h"#include
2、/////////////////////////////////////////////////////////////////////////////////////////////////////////说明全局量HINSTANCEhInst;LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);//////////////////////////////////////////////////////////////////////////////////////////////////////intAPIENTRYWinMai
3、n(HINSTANCEhI,HINSTANCEhP,LPSTRlp,intnC){MSGmsg;HWNDhWnd;//实例句柄存入全局量hInsthInst=hI;WNDCLASSwc;memset(&wc,0,sizeof(WNDCLASS));wc.lpfnWndProc=(WNDPROC)WndProc;wc.hInstance=hI;wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);wc.hbrBackground=(HBRUSH)COLOR_WINDOW;wc.lpszClassName="W1";RegisterClass(&wc);h
4、Wnd=CreateWindowEx(WS_EX_PALETTEWINDOW,"W1","UDP程序1[端口:8000]",WS_OVERLAPPEDWINDOW,100,100,200,100,NULL,NULL,hI,NULL);if(!hWnd)returnFALSE;ShowWindow(hWnd,nC);//主消息循环while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}returnmsg.wParam;}//////////////////////////////
5、////////////////////////////////////////////////////////////////////定义WinsockAPI需要的量WSADATAws;SOCKETs1,s2;structsockaddr_inCs1A,Cs2A;//发送数据缓冲charsendBuf[200];//接收数据缓冲charrecvBuf[200];intlen;//存放接收到的字节数#defineCs1Port8000//本地端口号#defineCs2Port6000//远程端口号#defineCs1IP"127.0.0.1"//本地IP地址#defineCs2
6、IP"127.0.0.1"//远程IP地址////////////////////////////////////////////////////////////////////////////////////////////////////////////////消息处理LRESULTCALLBACKWndProc(HWNDhW,UINTmsg,WPARAMwP,LPARAMlP){switch(msg){caseWM_DESTROY://关闭程序触发事件//向Windows注销Socket触发事件WSAAsyncSelect(s1,hW,0,0);//释放连接closeso
7、cket(s1);//卸载动态链接库WinsockDLLWSACleanup();PostQuitMessage(0);break;caseWM_CREATE://初始化触发事件//装载动态链接库WinsockDLLWSAStartup(0x0202,&ws);//创建UDP套接字s1=socket(AF_INET,SOCK_DGRAM,0);//设置地址类型Cs1A.sin_family=AF_INET;//本地端口Cs1A.sin_port=htons(Cs1Port);//本地IP地址