ChinaUnix.net
相关文章推荐:

libevent分析

libevent的事件回调函数中close不发送FIN序列,不知道大家有没有遇到这个问题。。。。 不知道为什么?????

by zsniper - C/C++ - 2007-10-26 11:24:28 阅读(1709) 回复(0)

相关讨论

完整的代码在 http://spserver.googlecode.com/files/libevent-1.4.4-iocp-3.zip 思路介绍:http://iunknown.javaeye.com/blog/199143 这里有人在 windows 下使用 libevent 吗?是否有人愿意尝试一下这个 iocp 版的 libevent ? 目前的这个代码已经可以通过 libevent 自带的 regress.c 的大部分测试案例。 libevent 原来自带的 libevent/WIN32-Prj 目录中的 dsw 和 dsp 有问题。 这次用的 dsw 和 dsp 在 libevent/libevent-iocp...

by iunknown - C/C++ - 2008-08-23 15:36:51 阅读(17791) 回复(29)

from http://blog.gslin.net 在課堂上學過 Unix Network Programming 後,我們知道在處理多 User 時會有幾種方法 解決: 1. 一個新的 Connection 進來,用 fork() 產生一個 Process 處理。 2. 一個新的 Connection 進來,用 pthread_create() 產生一個 Thread 處理。 3. 一個新的 Connection 進來,丟入 Event-based Array,由 Main Process 以 Nonblocking 的方式處理所有的 I/O。 這三種方法當然也都有各自的缺點: ...

by redsnow - 网络技术文档中心 - 2006-11-27 13:21:35 阅读(2742) 回复(0)

[code] void connection_c(int fd, short event, struct event *arg) { FILE * fp; int len; int tlen; char ch[1024]; fp = fopen ("allrise.mp3" , "rb"); if(fp == NULL) { perror ("Error opening file"); } while(!feof(fp)) { if((len = fread(&ch,sizeof(char),1024,fp)) > 0) {...

by 七夜 - C/C++ - 2007-01-14 19:42:35 阅读(2097) 回复(5)

用VS2005编译,可以通过吗?

by thinke365 - C/C++ - 2009-07-30 08:47:35 阅读(3528) 回复(2)

libevent中,event_loop的流程是: 检测信号事件,检测超时事件,如果没有事件用距离下次超时的时间作为epoll_wait的超时阻塞调用epoll_wait,否则超时值为0. 问题来了,如果我开始的时候设置了一个超时时间为5秒的超时事件。并且在这5秒中,没有任何信号,其他的超时事件,任务读写事件等发生。在第3秒的时候,设置一个500毫秒的超时。libevent似乎无法在第3秒500毫秒左右返回这个超时事件。而且在libevent中,调用epoll_wait的...

by smzgl - C/C++ - 2012-12-05 11:38:58 阅读(4110) 回复(4)

spserver是依赖libevent生成的,我通过libevent的configure --disable-shared --enable-static生成了libevent.a这个静态库 然后修改spserver的Makefile,在里面增加了一项 [code]static: libspserver.a libspserver.a: $(LIBOBJS) $(AR) $@ $^[/code] 这样虽然也能生成libspserver.a的静态库文件,但是在编译自己的测试程序的时候却报告很多event的函数找不到,我要怎么做才能让自己编写的基于spserver的程序脱离这两个库运行? ...

by SoulEdge - C/C++ - 2008-10-11 16:49:42 阅读(2090) 回复(1)

以下代码是libevent中红黑树删除树节点的部分代码,本人有些地方弄不明白,因此来请教下。 假设的情况如下: P A D B C E F 要删除的节点是D节点。 struct { struct type *rbe_left; struct type *rbe_right; struct type *rbe_parent; int rbe_color; } struct type * \ name##_RB_REMOVE(struct name *head, struct type *elm) \ { \ ...

by smzgl - C/C++ - 2008-06-13 11:11:01 阅读(1823) 回复(1)

关于libevent代码的几点疑问 以下是libevent中红黑树代码中,删除二叉树节点部分的代码。本人对此有几点疑问,故请问下大家。 假设的情况: X A B C D E F 树如上图, 要删除的节点是B。 struct { struct type *rbe_left; struct type *rbe_right; struct type *rbe_parent; int rbe_color; } struct type * \ name...

by smzgl - IT职业生涯 - 2008-06-13 10:44:50 阅读(1370) 回复(1)

SPTalk 是一个 基于 libevent 的 jabber 服务器。 0.1 版本模仿 jabberd 1.4 ,使用xml文件来保存用户的注册信息。 这个版本实现的功能包含:注册,登录,添加好友(但没有实现 presence ),互发信息。 项目主页: http://code.google.com/p/sptalk/ 源代码下载: http://sptalk.googlecode.com/files/sptalk-0.1.src.tar.gz

by iunknown - C/C++ - 2007-07-31 22:29:07 阅读(2263) 回复(0)

server端在每一个client连接上来的时候为该client设置一个event: my_read_ev.index = i; event_set(&my_read_ev.ev, EV_READ|EV_PERSIST, on_user_io, &my_read_ev); 并将该client保存在all_users中,在该client断开连接时才调用event_del并close对应的fd,将all_users设为0。用my_read_ev.index保存i是为了可以在on_user_io中方便的得到all_users,也就是为了根据fd得到client对象。on_user_io的代码如下: void on_user_io(int ...

by nightfall - C/C++ - 2005-10-08 19:31:52 阅读(1942) 回复(0)