cwbC 语言网络框架
cwb(C on Web)一个轻量级,快速的 C 语言网络框架。
特性:
- 异步IO支持
- 事件驱动库
- 数据序列化、编码支持
示例代码
/* 事件驱动库 */
Cwb_Event_Base *base = cwb_event_new();
assert(base);
assert(!cwb_event_watch_fd(base,serverSocket,CWB_EVENT_READ,sockethandler,NULL));
cwb_event_loop(base);
cwb_event_destroy(base);
/* 数据结构 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
#include<cwb/Ds.h>
#include"Test.h"
int main(void)
{
Cwb_Ds *dic=cwb_ds_new(CWB_DS_DICTIONARY,CWB_DS_SKEY);
assert(dic);
cwb_ds_set(dic,"I","Suote127");
cwb_ds_set(dic,"you","User");
cwb_ds_set(dic,"he","Unknow");
puts(cwb_ds_get(dic,"he"));
puts(cwb_ds_get(dic,"you"));
puts(cwb_ds_get(dic,"I"));
cwb_ds_set(dic,"I","The programmer");
puts(cwb_ds_get(dic,"I"));
cwb_ds_set(dic,"you",CWB_DS_UNDEFINED);
assert(cwb_ds_get(dic,"you")==CWB_DS_UNDEFINED);
cwb_ds_destroy(dic);
return 0;
}
/* 动态字符串 */
#include<assert.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<cwb/Dstr.h>
int main(void)
{
char temp[1024];
fgets(temp,1024,stdin);
temp[strlen(temp)-1]='\0';
Cwb_Dstr *dstr = cwb_dstr_new();
assert(dstr);
assert(cwb_dstr_assign(dstr,temp));
Cwb_Dstr *copy = cwb_dstr_copy(dstr);
char *s = cwb_dstr_convert(dstr,NULL,0);
puts(s);
char *t = strdup(s);
cwb_dstr_appendd(dstr,&t);
assert(!t);
cwb_dstr_appendc(dstr,':');
cwb_dstr_appendc(dstr,')');
free(s);
s = cwb_dstr_convert(dstr,NULL,0);
puts(s);
cwb_dstr_destroy(dstr);
free(s);
cwb_dstr_appends(copy,":)");
s = cwb_dstr_convert(copy,NULL,0);
puts(s);
free(s);
return 0;
}
评论
Hunt NetD 语言网络框架
HuntNet是基于hunt库实现的D语言网络传输协议层封装,类似netty/mina但测试下来性能更高,内置编解码规则标准化自定义的传输协议,能够实现快速开发各种基于TCP的自定义网络传输协议。支持
Hunt NetD 语言网络框架
0
aclC语言网络框架库
acl框架库是一个C库,主要包含:服务器开发框架、同步/异步网络通讯、常用数据结构、进程池/线程池、流式xml/json解析器、http/ping应用协议等内容;acl包括以下丰富的常用函数库:1、常
aclC语言网络框架库
0
collieD语言高性能网络应用框架
D语言的高性能跨平台异步网络库,提供pipeline模式,类似Java的Netty框架。Collie是一个异步的,事件驱动的网络编程框架和工具,直接对接操作系统底层高效的事件接口kqueue/epol
collieD语言高性能网络应用框架
0