资源简介
《Visual C++网络编程开发与实战》 案例源码2.4.5.rar
代码片段和文件信息
/*导入库文件*/
#pragma comment(lib“wsock32.lib“)
/*加载头文件*/
#include
#include
/*自定义函数原型*/
void initial();
int InitSockets(void);
void GetArgments(int argc char **argv);
void ErrorPrint(x);
void userHelp();
int LoopControl(SOCKET listenfd int isMultiTasking);
void Service(LPVOID lpv);
/*定义常量*/
#define MAX_SER 10
/*定义全局变量*/
char *hostName;
unsigned short maxService;
unsigned short port;
/*初始化全局变量函数*/
void initial()
{
hostName = “127.0.0.1“;
maxService = 3;
port = 9999;
}
/*初始化Winsocket函数*/
int InitSockets(void)
{
WSADATA wsaData;
WORD sockVersion;
int err;
/*设置Winsock版本号*/
sockVersion = MAKEWORD( 2 2 );
/*初始化Winsock*/
err = WSAStartup( sockVersion &wsaData );
/*如果初始化失败*/
if ( err != 0 )
{
printf(“Error %d: Winsock not available\n“ err);
return 1;
}
return 0;
}
/*获取选项函数*/
void GetArgments(int argc char **argv)
{
int i;
for(i=1; i < argc ;i++)
{
/*参数的第一个字符若是“-”*/
if (argv[i][0] == ‘-‘)
{
/*转换成小写*/
switch (tolower(argv[i][1]))
{
/*若是端口号*/
case ‘p‘:
if (strlen(argv[i]) > 3)
port = atoi(&argv[i][3]);
break;
/*若是主机名*/
case ‘h‘:
hostName = &argv[i][3];
break;
/*最多服务次数*/
case ‘n‘:
maxService = atoi(&argv[i][3]);
break;
/*其他情况*/
default:
userHelp();
break;
}
}
}
return;
}
/*错误输出函数*/
void ErrorPrint(x)
{
printf(“Error %d: %s\n“ WSAGetLastError() x);
}
/*用户帮助函数*/
void userHelp()
{
printf(“userHelp: -h:str -p:int -n:int\n“);
printf(“ -h:str The host name \n“);
printf(“ The default host is 127.0.0.1\n“);
printf(“ -p:int The Port number to use\n“);
printf(“ The default port is 9999\n“);
printf(“ -n:int The number of servicebelow MAX_SER \n“);
printf(“ The default number is 3\n“);
ExitProcess(-1);
}
/*循环控制函数*/
int LoopControl(SOCKET listenfd int isMultiTasking)
{
SOCKET acceptfd;
struct sockaddr_in clientAddr;
int err;
int nSize;
int serverNum = 0;
HANDLE handles[MAX_SER];
int myID;
/*服务次数小于最大服务次数*/
while (serverNum < maxService)
{
nSize = sizeof(clientAddr);
/*接收客户端请求*/
acceptfd = accept(listenfd (struct sockaddr *)
&clientAddr &nSize);
/*如果接收失败*/
if (acceptfd == INVALID_SOCKET)
{
ErrorPrint(“Error: accept failed\n“);
return 1;
}
/*接收成功*/
printf(“Acce
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3490816 1985-01-01 16:00 4\HTTP\Debug\HTML1.bsc
文件 151619 1985-01-01 16:00 4\HTTP\Debug\HTML1.exe
文件 446668 1985-01-01 16:00 4\HTTP\Debug\HTML1.ilk
文件 83439 1985-01-01 16:00 4\HTTP\Debug\HTML1.obj
文件 8979008 1985-01-01 16:00 4\HTTP\Debug\HTML1.pch
文件 640000 1985-01-01 16:00 4\HTTP\Debug\HTML1.pdb
文件 7992 1985-01-01 16:00 4\HTTP\Debug\HTML1.res
文件 0 1985-01-01 16:00 4\HTTP\Debug\HTML1.sbr
文件 14854 1985-01-01 16:00 4\HTTP\Debug\HTML1Doc.obj
文件 0 1985-01-01 16:00 4\HTTP\Debug\HTML1Doc.sbr
文件 25371 1985-01-01 16:00 4\HTTP\Debug\HTML1View.obj
文件 0 1985-01-01 16:00 4\HTTP\Debug\HTML1View.sbr
文件 31178 1985-01-01 16:00 4\HTTP\Debug\MainFrm.obj
文件 0 1985-01-01 16:00 4\HTTP\Debug\MainFrm.sbr
文件 117029 1985-01-01 16:00 4\HTTP\Debug\StdAfx.obj
文件 1575299 1985-01-01 16:00 4\HTTP\Debug\StdAfx.sbr
文件 18426 1985-01-01 16:00 4\HTTP\Debug\ToolDlg.obj
文件 0 1985-01-01 16:00 4\HTTP\Debug\ToolDlg.sbr
文件 271360 1985-01-01 16:00 4\HTTP\Debug\vc60.idb
文件 430080 1985-01-01 16:00 4\HTTP\Debug\vc60.pdb
文件 63926 1985-01-01 16:00 4\HTTP\Debug\webbrowser2.obj
文件 0 1985-01-01 16:00 4\HTTP\Debug\webbrowser2.sbr
文件 1112 1985-01-01 16:00 4\HTTP\Dlg.cpp
文件 1167 1985-01-01 16:00 4\HTTP\Dlg.h
文件 45604 1985-01-01 16:00 4\HTTP\HTML1.APS
文件 2467 1985-01-01 16:00 4\HTTP\HTML1.clw
文件 6436 1985-01-01 16:00 4\HTTP\HTML1.cpp
文件 5181 1985-01-01 16:00 4\HTTP\HTML1.dsp
文件 562 1985-01-01 16:00 4\HTTP\HTML1.dsw
文件 1457 1985-01-01 16:00 4\HTTP\HTML1.h
............此处省略266个文件信息
相关资源
- 《Visual C++网络编程开发与实战》案例
- C++ 孔令德计算机图形学习题答案源代
- VC++实现浏览器
- Visual C++ MFC棋牌类游戏编程五子棋,象
- C++TEST中文帮助文档
- C-Free 5.0
- 轻松搞定C++语言.pdf
- c++人脸相似度检测MFC源码
- 精通Visual C++图像处理编程(PDF & 源代
- 《Visual C++ 6.0 用户界面制作技术与应
- 计算机图形学+配书源代码
- C++编程思路2019最新版
- VC++2017 64位
- C++参考大全 第四版 高清扫描版
- 物资管理系统c++和sql
- SGM C++代码 VS2013
- 操作系统概念:进程调度算法FCFS、
- C++Primer及ppt
- vc++ MFC 背单词软件毕业设计系统源代
- msdn for vc++6.0
- GPS单点定位程序C++
- MIF 文件读取,简单的GIS系统,附带
- VC++2010番茄西红柿VAXvirsual assist X完美
- Essential C++ 中文版
- IC卡停车场管理系统源代码
- 消解原理实现有界面
- C++ 课程设计 大作业 背单词小软件
- C++C#互通DES加密算法
- C++ Qt设计模式第2版中文版
- Vc++编写的计算器简单小程序
评论
共有 条评论