当前位置:文档之家› VC++网络程序设计实例

VC++网络程序设计实例


网络程序设计实例
Cs2A.sin_addr.s_addr =inet_addr(Cs2IP);
//向Windows注册网络事件
WSAAsyncSelect(s1,hW,WM_USER+1,FD_READ);
网络程序设计实例
char recvBuf[200]; int len; #define Cs1Port 8000 #define Cs2Port 6000 #define Cs1IP "127.0.0.1" #define Cs2IP "127.0.0.1"
//存放接收到的字节数 //本地端口号 //远程端口号 //本地IP地址 //远程IP地址
hI,HINSTANCE hP,LPSTR lp,int nC)
网络程序设计实例
{
MSG msg;
HWND hWnd;
//实例句柄存入全局量hInst
hInst = hI;
WNDCLASS wc;
memset(&wc,0,sizeof(WNDCLASS));
wc.lpfnWndProc = (WNDPROC)WndProc;
网络程序设计实例
网络程序设计实例
.1 使用Winsock API设计网络程序的实例 .2 使用MFC类库进行网络程序设计的实例 .3 基于WinInet API的客户程序编写实例 .4 原始套接口(SOCK_RAW)程序设计实例 .5 广播通信与组播通信程序设计实例 习题
网络程序设计实例
.1 使用Winsock API设计网络程序的实例
网络程序设计实例
{
switch (msg)
{
case WM_DESTROY:
//关闭程序触发事件
//向Windows注销Socket触发事件
WSAAsyncSelect(s1, hW, 0, 0);
//释放连接
closesocket(s1);
//卸载动态链接库Winsock DLL
WSACleanup( );
网络程序设计实例 //本地IP地址 Cs1A.sin_addr.s_addr =inet_addr(Cs1IP); //进行本地绑定 len=bind(s1,(struct sockaddr *) &Cs1A,sizeof(Cs1A));
//远程地址类型 Cs2A.sin_family=AF_INET; //远程端口 Cs2A.sin_port = htons(Cs2Port); //远程IP地址
WndProc(HWND, UINT,
///////////////////////////////////////////////////////////////////////////////// /////////////////////
int
APIENTRY
WinMain(HINSTANCE
.1.1 程序源代码 1.UDP程序1的源代码 //编程环境:VC 6.0 //程序说明:基于用户数据报协议UDP的程序实例 //程序功能:在窗口中点击鼠标左键,则发送信息
到端口号为6000的远程机上,并可以从端 // 口号6000的远程机接收数据
网络程序设计实例
#include "stdafx.h" #include <Winsock.h>
PostQuitMessage(0);
网络程序设计实例
break; case WM_CREATE: //初始化触发事件 //装载动态链接库Winsock DLL WSAStartup(0x0202, &ws); //创建UDP套接字 s1=socket(AF_INET, SOCK_DGRAM,0); //设置地址类型 Cs1A.sin_family=AF_INET; //本地端口 Cs1A.sin_port = htons(Cs1Port);
wc.hInstance
= hI;
wc.hIcon =LoadIcon(NULL, IDI_APPLICATION);
网络程序设计实例
wc.hbrBackground
=
(HBRUSH)COLOR_WINDOW;
wc.lpszClassName
= "W1";
RegisterClass(&wc);
hWnd=CreateWindowEx(WS_EX_PALETTEWIND OW,"W1","UDP程序1[端口:8000]", WS_OVERLAPPEDWINDOW, 100,100,200,100, NULL, NULL, hI, NULL);
///////////////////////////////////////////////////////////////////////////////// //////////////////////
//说明全局量
HINSTANCE hInst;
LRESULT CALLBACK WPARAM, LPARAM);
网络程序设计实例
return msg.wParam; }
////////////////////////////////////////////////////////// /////////
//定义Winsock API需要的量 WSADATA ws; SOCKET s1,s2; struct sockaddr_in Cs1A,Cs2A; //发送数据缓冲 char sendBuf[200]; //接收数据缓冲
////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
//消息处理
LRESULT CALLBACK WndProc(HWND hW, UINT msg, WPARAM wP, LPARAM lP)
网络程序设计实例
if (!hWnd) return FALSE; ShowWindow(hWnd, nC); //主消息循环 while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); }
相关主题