91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 19KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-23
  • 語言: C/C++
  • 標簽: HTTP??chunked??C語言??demo??

資源簡介

一個用C語言實現(xiàn)的解析HTTP chunked方式傳輸?shù)臄?shù)據(jù)包的演示程序

資源截圖

代碼片段和文件信息

/*
?*??dechunk.c
?*??http_chunk_demo
?*
?*??Created?by?I?MAC?on?11-9-7.
?*??Copyright?2011?__MyCompanyName__.?All?rights?reserved.
?*
?*/

#include?“dechunk.h“
#include?
#include?

#define?DC_MIN(x?y)?(x)?>?(y)???(y)?:?(x)

static?char?????*g_buff_out?????=?NULL;
static?char?????*g_buff_pt??????=?NULL;

static?size_t???g_buff_outlen???=?0;
static?size_t???g_chunk_len?????=?0;
static?size_t???g_chunk_read????=?0;

static?int??????g_is_running????=?0;
static?int??????g_is_first??????=?1;
static?int??????g_is_chunkbegin?=?0;

void?*memstr(void?*src?size_t?src_len?char?*sub)
{
????if?(NULL?==?src?||?NULL?==?sub?||?src_len?????{
????????return?NULL;
????}
????
????char?*p?????=?src;
????char?*q?????=?sub;
????size_t?indx????=?src_len;
????size_t?sub_len?=?strlen(sub);
????
????while?(indx?>?0)
????{
????????int?i?=?0;
????????
????????while?(i?????????{
????????????char?cp?=?*(p?+?i);
????????????char?cq?=?*(q?+?i);
????????????
????????????//?case?ignore
????????????if?(cq?>=?‘A‘?&&?cq?<=?‘Z‘)
????????????{
????????????????cq?|=?0x20;
????????????}
????????????
????????????if?(cp?>=?‘A‘?&&?cp?<=?‘Z‘)
????????????{
????????????????cp?|=?0x20;
????????????}
????????????
????????????if?(cq?!=?cp)
????????????{
????????????????break;
????????????}
????????????
????????????i++;
????????}
????????
????????if?(i?==?sub_len)
????????{
????????????return?p;
????????}
????????
????????p++;
????????indx--;
????}
????
????return?NULL;
}

int?dechunk_init()
{
????if?(g_is_running)
????{
????????return?DCE_ISRUNNING;
????}
????
????g_buff_out??????=?NULL;
????g_buff_pt???????=?NULL;
????
????g_buff_outlen???=?0;
????g_chunk_len?????=?0;
????g_chunk_read????=?0;
????
????g_is_running????=?1;
????g_is_first??????=?1;
????g_is_chunkbegin?=?0;
????
????return?DCE_OK;
}

int?dechunk(void?*input?size_t?inlen)
{
????if?(!g_is_running)
????{
????????return?DCE_LOCK;
????}
????
????if?(NULL?==?input?||?inlen?<=?0)
????{
????????return?DCE_ARGUMENT;
????}
????
????void?*data_start?=?input;
????size_t?data_len?=?inlen;
????
????if?(g_is_first)
????{
????????data_start?=?memstr(data_start?data_len?“\r\n\r\n“);
????????if?(NULL?==?data_start)
????????{
????????????return?DCE_FORMAT;
????????}
????????
????????data_start?+=?4;
????????data_len?-=?(data_start?-?input);
????????
????????g_is_first?=?0;
????}
????
????if?(!g_is_chunkbegin)
????{
????????char?*stmp?=?data_start;
????????int?itmp?=?0;
????????
????????sscanf(stmp?“%x“?&itmp);
????????itmp?=?(itmp?>?0???itmp?-?2?:?itmp);??????????//?exclude?the?terminate?“\r\n“
????????
????????data_start?=?memstr(stmp?data_len?“\r\n“);
????????data_start?+=?2;????//?strlen(“\r\n“)
????????
????????data_len????????-=??(data_start?-?(void?*)stmp);
????????g_chunk_len?????=???itmp;
????????g_buff_outlen???+=??g_chunk_len;
????????g_is_chunkbegin?=???1;
????????g_chunk_read????=???0;
????????
????????if?(g_chunk_len?>?0?&&?0?!=?g_buff_outlen)
????????{
????????????if?(NULL?==?g_buf

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-09-07?18:27??http_chunk_demo\
?????文件????????4548??2011-09-07?17:44??http_chunk_demo\dechunk.c
?????目錄???????????0??2011-09-07?18:27??__MACOSX\
?????目錄???????????0??2011-09-07?18:27??__MACOSX\http_chunk_demo\
?????文件?????????171??2011-09-07?17:44??__MACOSX\http_chunk_demo\._dechunk.c
?????文件?????????590??2011-09-07?17:36??http_chunk_demo\dechunk.h
?????文件?????????171??2011-09-07?17:36??__MACOSX\http_chunk_demo\._dechunk.h
?????文件????????3057??2011-09-07?08:44??http_chunk_demo\http_chunk_demo.1
?????目錄???????????0??2011-09-07?18:27??http_chunk_demo\http_chunk_demo.xcodeproj\
?????文件???????40864??2011-09-07?18:27??http_chunk_demo\http_chunk_demo.xcodeproj\imac1.mode1v3
?????文件???????48849??2011-09-07?18:27??http_chunk_demo\http_chunk_demo.xcodeproj\imac1.pbxuser
?????文件????????7653??2011-09-07?18:27??http_chunk_demo\http_chunk_demo.xcodeproj\project.pbxproj
?????文件????????5153??2011-09-07?18:27??http_chunk_demo\main.c
?????文件?????????171??2011-09-07?18:27??__MACOSX\http_chunk_demo\._main.c

評論

共有 條評論