最新 | 最热门 | 最高评价

+0  Libevent HTTP 内存泄露

Tag: C/C++语言编程 | 高性能Web架构 | comet | libevent
ideawu 发于 2014年04月12日 12:11 | 点击: 2065 | 展开摘要
支持百万并发连接的 comet 推送服务器 icomet 刚刚修复了一个内存泄露的 bug, 这个 bug 是因为不正确地使用 libevent 导致的, 无法用 valgrind 等工具检查出来.

这个 bug 的原因是这样的, 当客户端请求到来时, 服务器端调用了

evhttp_send_reply_start();

表示开始向客户端推送数据(使用 HTTP chunked), 最后当 long-polling 结束时, 应该调用

evhttp_send_repl

查看全文: http://www.udpwork.com/item/12116.html

+0  构建C1000K的服务器(2) – 实现百万连接的comet服务器

Tag: C语言编程 | 高性能Web架构 | C1000K | libevent | 高并发
ideawu 发于 2013年09月18日 22:06 | 点击: 2186 | 展开摘要
这是关于 C1000K 序列文章的第二篇, 在前一篇文章 构建C1000K的服务器(1) – 基础 中, 介绍了支持 C1000K 的 Linux 系统的内核参数调整和系统设置. 在本篇文章中, 将对一个真正的应用服务器做 C1000K 测试.

Comet 服务器是一类逻辑相对简单, 需要高并发连接的服务器. Comet 在网站系统中的应用非常广泛, 可以见这篇日志的介绍: http://www.ideawu.net/blog/archives/737.html.

HTT

查看全文: http://www.udpwork.com/item/10696.html

+0  让libevent HTTP服务器立即知道客户端的断开

Tag: C语言编程 | libevent
ideawu 发于 2013年09月17日 13:48 | 点击: 2012 | 展开摘要
虽然 libevent HTTP 服务器可以给连接注册关闭回调, 但客户端强制断开连接时, 服务器并没有立即知道.

evhttp_connection_set_closecb(req->evcon, on_close, NULL);

原来, libevent 在收到 HTTP 请求后, 就不再监听读事件了, 所以就不能通过 read() 返回 0 来知道连接断开, 只能通过 send() 导致 SIGPIPE 才能知道.

为了让服务器立即知道客户端的断开, 只需要

查看全文: http://www.udpwork.com/item/10689.html

+0  Libevent 2 HTTP 客户端示例

Tag: C语言编程 | libevent
ideawu 发于 2013年09月11日 21:53 | 点击: 3043 | 展开摘要
Libevent 的文档非常少, 而且示例也很奇缺, 在 Google 里一搜, 还真找不到一两个. 这里贴一个最简单的利用 Libevent 2 HTTP 库, 作为客户端向服务器发起请求的例子.

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <evhttp.h>
#include &

查看全文: http://www.udpwork.com/item/10632.html

+0  php的libev扩展

Tag: php | libev | libevent
Volcano 发于 2013年01月01日 18:28 | 点击: 2010 | 展开摘要
pecl上新添了一个ev扩展,目前版本是0.2.0,已经stable。这个扩展为php提供了libev库的接口。 ev is a PECL extension providing inteface to libev library – high performance full-featured event loop written in C. ABOUT LIBEV Libev is an event loop: you register interest in

查看全文: http://www.udpwork.com/item/8960.html

+0  php的异步http请求类

Tag: php | libevent | zend framework
Volcano 发于 2011年11月10日 16:24 | 点击: 3604 | 展开摘要
基于上次写的关于php的libevent扩展的应用,我实现了一个异步的http请求类。

代码在github上:https://github.com/volca/AsyncHttpClient

使用示例

如下,在request的时候能够定义请求完成之后的callback函数。

查看全文: http://www.udpwork.com/item/6257.html

+0  关于php的libevent扩展的应用

Tag: php | libevent
Volcano 发于 2011年10月25日 22:58 | 点击: 4891 | 展开摘要
php有个libevent扩展,在一年前我曾经拿它实现了一个thrift socket server,虽然我没有把它放在正式的场合来使用,但是我觉得这个扩展应该可以有更广泛的用途,比如:

phpDaemon — 一个异步的服务器端开发框架.

tail – 用php实现类似unix下的tail命令行

ZeroMQ + libevent in PHP – 用php和ZeroMQ实现的一个事件驱动服务器端

我所想到的一个比较实用的使用场景是,在页面中

查看全文: http://www.udpwork.com/item/6119.html
|<<<1>>>| 一共1页, 7条记录