我正在寻找一个简单的基于 libevent 的 TCP-Server 的示例代码,它将传入的消息广播到所有连接的客户端。在网络上,我只找到了回显消息的 TCP 服务器。
如果找到一个回声示例,请在此页面底部http://www.wangafu.net/~nickm/libevent-book/Ref8_listener.html
我确信更改本网站上提供的代码并不难,以便将消息广播到所有连接的客户端,但我不知道如何。
有人可以建议我吗?
编辑:是的,某种聊天服务器。它接缝我需要这样做:
void server_read_cb(struct bufferevent *bev, void *data)
{
struct evbuffer *input = bufferevent_get_input(bev);
struct evbuffer *output = bufferevent_get_output(bev);
char *mem = malloc(len); /* XXX: check for malloc failure */
evbuffer_remove(input, mem, len);
"for every connection conn" {
/* XXX you'll need to implement a real connection list;
the above isn't real C. */
evbuffer_add(bufferevent_get_output(conn), mem, len);
}
free(mem);
}
但我不能让它发挥作用。