Skip to content

CandyMi/ccsocket

Repository files navigation

ccsocket

ccsocket是一个为跨平台软件准备的简易封装socket库, 除目标平台标准库外不依赖任何其他第三方库.

ccsocket将易用性、高效列为设计目的, 简单、实用、快速上手可以显著减少开发者对平台API的依赖.

ccsocket创建的socket未经过包装, 因此开发者亦可调用平台特定的原生接口使用.

优势与特性

  • 跨平台支持

  • 易整合/嵌入

  • 简单易上手

  • 维护成本低

平台/环境支持

  • Windows

  • Linux

  • MacOS

  • FreeBSD/otherBSD

  • Solaris/illumos/openindiana

  • cygwin/msys2

  • openKylin

同时支持32bit/64bit编译生成.

编译器支持

  • msvc

  • gcc

  • clang

  • musl

  • mingw

默认使用C编译器, 可选择强制使用C++编译.

构建方式

1. cmake

  • 命令行构建 - 调试可用的库 (当前目录切换到ccsocket目录)

    cmake -B build -DCMAKE_BUILD_TYPE=Debug && cmake --build -build

  • 命令行构建 - 生产可用的库 (当前目录切换到ccsocket目录)

    cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build -build

  • cmake-gui 图形化构建

    source code 填入 ccsocket 的完整目录, build the binaries 填入 ccsocket 的完整目录 + build. 点击下面的Configure, 选择你生成的项目类型(如: Visual Studio 2022), 下拉选择Win32/x64. 再点击Finished按钮就开始配置. 如果出错则Delete Cache重来. 点击Generate按钮就生成工程, 再点击Open就可以开始构建了.

更多使用方法, 请自行参考cmake

2. premake5

  1. 安装premake5后进入到ccsocket目录.

  2. 生成 Makefile:

    premake5 gmake                   # 默认 (含 ICMP 模块)
    premake5 --WITH_ICMP=off gmake   # 不含 ICMP
    premake5 --WITH_OSSL gmake       # 含 OpenSSL TLS
    premake5 --ccache gmake          # 启用 ccache 缓存
  3. 构建:

    make config=release_x64 -j4

    产物在 build/ 目录下。

更多使用方法, 请自行参考premake5

使用指南

ccsocket wiki

ccicmp wiki

开源许可

MIT LICENSE

About

socket in multi-platform.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors