background image

在 C++程序中添加逻辑流程控制

在计算机程序中,除了常见的执行流程控制,还有逻辑流程控制;有时,执行流程即为

逻辑流程,但在大多数情况下还是有所区别的,例如,假定有一个 Web 服务器使用同步

套接字读取 HTTP 请求,那么会编写如下的代码:

void read(HTTP_REQUEST& http_request)

{
read(http_request.header);

read(http_request.body, http_request.header);
}

void read(HTTP_REQUEST_HEADER& header)

{
string line = read_line();

parse_request_link(line, header.method, header.uri,
header.version);

while (TRUE)

{
line = read_line();

if (line.empty())
break;

parse_header_field(line, header);

}
}

void read(BYTE[]& body, HTTP_REQUEST_HEADER& header)

{
string transfer_encoding = header.fields['Transfer-Encoding'];

if (transfer_encoding != b.chunkedb.)
body = read_bytes(header.fields['Content-Length']);

else
{

while (TRUE)
{

string chunk_header = read_line();