MYCP cgcBase随手记

MYCP cgcBase随手记_第1张图片

MYCP cgcBase随手记_第2张图片

MYCP cgcBase随手记_第3张图片

MYCP的CGCBase模块代码写的很好。各个接口是干吗用的,看函数名就一目了然了。

如果学过Java,JSP,Servlet 的话对cgcRequest,cgcResponse这些类的功能应该挺熟悉的。

MYCP cgcBase随手记_第4张图片

其他的类都是辅助类,cgcString 是辅助类,用于转码。从Unicode转到UTF8,格式化输出等。格式化输出只是对vsprintf的一个封装。

例:

	tstring cgcString::Format(const TCHAR * format,...){
		if (format == 0) return _T("");

		TCHAR formatmsg[gConstMaxFormatSize];
		va_list   vl;
		va_start(vl, format);
		int len = vsnprintf(formatmsg, gConstMaxFormatSize, format, vl);
		//int len = _vsntprintf(formatmsg, gConstMaxFormatSize, format, vl);
		//int len = _vsntprintf_s(formatmsg, gConstMaxFormatSize, gConstMaxFormatSize, format, vl);
		va_end(vl);
		if (len > gConstMaxFormatSize)
			len = gConstMaxFormatSize;
		formatmsg[len] = '\0';

		return tstring(formatmsg, len);
	}
这些定义的web服务器的基本接口的实现在\mycp_1_0_3\mycp\src\CGCP\CGC目录下。如class CRequestImpl 实现了cgcRequest的接口。

目前只是把接口看了,一个web服务器的基本功能了解一下。接下来要研究一下具体实现。

水平有限慢慢研究了。

你可能感兴趣的:(MYCP cgcBase随手记)