xs C 多线程网络库

开源网站开源项目 24-04-04 09:44:41

基于C多线程网络库,欢迎大家使用,例子在代码example目录下,以后我会再增加一些例子。

文档暂时没有,有问题请邮件我:-)

获取代码:https://github.com/xueguoliang/xs

xs致力于1)多线程网络库,如果你的程序要需要网络通信,而且不希望多进程,那这个库可能适合你。目前xs支持linux和windows,linux采用epoll,windows下是select,不好意思对iocp不熟悉,期待你们有贡献。

2)尽量将接口整的简单

3)线程工作采用推动式

4)支持定时器(用最小堆实现)

5)尽量效率高,所以尽量不用锁

使用库的方法,跟android有点像:

1.在xs/src中建立一个目录,你的工程目录,比如aaa

2.在目录中写一个xs.mk(空文件即可,但是没有是不行的)

3.再写你的.c文件,

4.完成之后,回到xs/src,输入make,你的工程将会被编译,如果你的代码没有编译错误,将会在xs/src目录下出现aaa.bin

另外一种办法,你将xs库当成普通动态库使用,这样的话,你的某个.c文件要加上两个全局变量

char* g_mem_files[1];

int g_mem_file_count = 0;

这两个变量是我的Makefile生成的,如果你不用我的makefile,那就得自己给定义个

最后这个库我在linux,windows,android,嵌入式linux等平台下都测试过,稍微改改makefile(在windows下直接用qt编译的)就可以使用,记得mail我哦

[xs C 多线程网络库]相关推荐
Remmina 远程桌面客户端

Remmina 远程桌面客户端

Remmina 是一个新进的 GTK+ 远程桌面客户端,提供了 RDP、VNC、XDMCP、SSH 等远程连接协议的支持。 这个……...

Ibis Python 数据分析框架

Ibis 是一个新的 Python 数据分析框架,目标是让数据科学家和数据工程师们处理大型数据时,能够像处理小……...

Rugged Ruby的Git开发包

Rugged 是一个 Git 的 Ruby 开发包,使用 libgit2 API 安装方法: $geminstallrugged 使用方法: requir……...

Rancher Docker 容器管理系统

Rancher Docker 容器管理系统

Rancher 是一个开源的项目,提供了在产品环境中对 Docker 容器进行全方位管理的平台。它提供的基础架构服……...

今日开源
  1. Eigen 线性算术的 C++ 模板库

    Eigen 是一个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法。功能强大、快速、优雅以及支持多平台。 示例代码: #include <iostream>#include <Eigen/Dense>using namespace Eigen;int……

    开源软件 2024-05-10

  2. OSv 开源操作系统

    OSv 是专为在虚拟机上运行单一应用程序而设计的开源操作系统,采用BSD许可证授权,旨在在云端取代Linux。 与为大量物理机设计的传统操作系统相比,OSv是一种开放源代码的通用模块化Unikernel,旨在作为虚拟机在hyp……

    开源软件 2024-05-10

  3. Faust Python 流处理

    Faust 是一个流处理库,将想法从 Kafka Streams 移植到 Python。 它在 Robinhood 用于构建高性能的分布式系统和实时数据管道,每天处理数十亿个事件。 Faust 提供流处理和事件处理,与 Kafka Streams,Apache Spar……

    开源软件 2024-05-10

返回顶部小火箭