資源簡介
內部包含本人原創c語言編寫的socket服務端程序源碼,包含基本的epoll并發、cjson解析及mysql操,里面寫有大量注釋,可幫助后端小白入門,下載后請閱讀redeme使用

代碼片段和文件信息
/*
??Copyright?(c)?2009?Dave?Gamble
??Permission?is?hereby?granted?free?of?charge?to?any?person?obtaining?a?copy
??of?this?software?and?associated?documentation?files?(the?“Software“)?to?deal
??in?the?Software?without?restriction?including?without?limitation?the?rights
??to?use?copy?modify?merge?publish?distribute?sublicense?and/or?sell
??copies?of?the?Software?and?to?permit?persons?to?whom?the?Software?is
??furnished?to?do?so?subject?to?the?following?conditions:
??The?above?copyright?notice?and?this?permission?notice?shall?be?included?in
??all?copies?or?substantial?portions?of?the?Software.
??THE?SOFTWARE?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY?KIND?EXPRESS?OR
??IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE?WARRANTIES?OF?MERCHANTABILITY
??FITNESS?FOR?A?PARTICULAR?PURPOSE?AND?NONINFRINGEMENT.?IN?NO?EVENT?SHALL?THE
??AUTHORS?OR?COPYRIGHT?HOLDERS?BE?LIABLE?FOR?ANY?CLAIM?DAMAGES?OR?OTHER
??LIABILITY?WHETHER?IN?AN?ACTION?OF?CONTRACT?TORT?OR?OTHERWISE?ARISING?FROM
??OUT?OF?OR?IN?CONNECTION?WITH?THE?SOFTWARE?OR?THE?USE?OR?OTHER?DEALINGS?IN
??THE?SOFTWARE.
*/
/*?cJSON?*/
/*?JSON?parser?in?C.?*/
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“cJSON.h“
static?const?char?*ep;
const?char?*cJSON_GetErrorPtr(void)?{return?ep;}
static?int?cJSON_strcasecmp(const?char?*s1const?char?*s2)
{
if?(!s1)?return?(s1==s2)?0:1;if?(!s2)?return?1;
for(;?tolower(*s1)?==?tolower(*s2);?++s1?++s2) if(*s1?==?0) return?0;
return?tolower(*(const?unsigned?char?*)s1)?-?tolower(*(const?unsigned?char?*)s2);
}
static?void?*(*cJSON_malloc)(size_t?sz)?=?malloc;
static?void?(*cJSON_free)(void?*ptr)?=?free;
static?char*?cJSON_strdup(const?char*?str)
{
??????size_t?len;
??????char*?copy;
??????len?=?strlen(str)?+?1;
??????if?(!(copy?=?(char*)cJSON_malloc(len)))?return?0;
??????memcpy(copystrlen);
??????return?copy;
}
void?cJSON_InitHooks(cJSON_Hooks*?hooks)
{
????if?(!hooks)?{?/*?Reset?hooks?*/
????????cJSON_malloc?=?malloc;
????????cJSON_free?=?free;
????????return;
????}
cJSON_malloc?=?(hooks->malloc_fn)?hooks->malloc_fn:malloc;
cJSON_free ?=?(hooks->free_fn)?hooks->free_fn:free;
}
/*?Internal?constructor.?*/
static?cJSON?*cJSON_New_Item(void)
{
cJSON*?node?=?(cJSON*)cJSON_malloc(sizeof(cJSON));
if?(node)?memset(node0sizeof(cJSON));
return?node;
}
/*?Delete?a?cJSON?structure.?*/
void?cJSON_Delete(cJSON?*c)
{
cJSON?*next;
while?(c)
{
next=c->next;
if?(!(c->type&cJSON_IsReference)?&&?c->child)?cJSON_Delete(c->child);
if?(!(c->type&cJSON_IsReference)?&&?c->valuestring)?cJSON_free(c->valuestring);
if?(!(c->type&cJSON_StringIsConst)?&&?c->string)?cJSON_free(c->string);
cJSON_free(c);
c=next;
}
}
/*?Parse?the?input?text?to?generate?a?number?and?populate?the?result?into?item.?*/
static?const?char?*parse_number(cJSON?*itemconst?char?*num)
{
double?n=0sign=1scale=0;int?subscale=0signsubscale=1;
if?(*num==‘-‘)?sign=-1num++; /*?H
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-29?16:18??C語言后臺代碼\
?????文件???????27791??2018-10-25?15:08??C語言后臺代碼\cJSON.c
?????文件????????7526??2015-02-13?18:53??C語言后臺代碼\cJSON.h
?????文件????????1436??2018-10-29?16:19??C語言后臺代碼\index.html
?????文件????????7624??2018-10-29?16:25??C語言后臺代碼\main.c
?????文件?????????100??2018-10-29?16:22??C語言后臺代碼\make.sh
?????文件?????????445??2018-10-29?16:26??C語言后臺代碼\readme.txt
- 上一篇:C++家庭財務管理系統
- 下一篇:C++實現的FTP服務器
評論
共有 條評論