libwebsockets实时通信库

开源的 C 语言库 libwebsockets,是搞实时通信的一个挺靠谱的工具。WebSocket 协议的双向通信能力,加上它事件驱动的模型,跑得快、资源占用还低,适合做聊天室、在线协作那类对时效要求高的应用。

libwebsocketsC 语言实现让它运行环境广泛,从服务器到嵌入式都能用,尤其嵌入式项目,资源本来就紧,C 语言那点底层优势就体现出来了。

它的 API 设计挺清爽,连接、发送、接收、断开几个核心函数都能快速上手。你不需要研究底层的协议细节,照着文档撸一遍代码就能通。

多线程支持也做得不错,支持多个连接,服务器端可以撑得住比较高的并发。配合事件驱动模型,响应也快,代码也简单。

还有一点比较实用的就是 安全性,它集成了 SSL/TLS 加密,用来做金融、物联网这些对数据传输要求高的场景,也不怕泄露。

版本兼容性方面你也不用太担心,像 libwebsockets-1.0-chrome25-firefox17 这种压缩包名它早期就考虑了主流浏览器。现在更高版本浏览器基本都支持 WebSocket,前端对接起来也没啥坑。

官方还了不少 示例和工具,调试起来会省事多。第一次用也不用慌,照着 Demo 来就能跑通个基础服务。

如果你搞的是对实时性有要求的东西,比如 IM、设备通信、推送更新,可以尝试用 libwebsockets 来搭,底层扎实,用起来也不算复杂。

gz
libwebsockets-1.0-chrome25-firefox17.tar.gz 预估大小:86个文件
folder
libwebsockets-1.0-chrome25-firefox17 文件夹
file
autogen.sh 46KB
file
README-test-server 10KB
file
README.rst 3KB
file
libwebsockets-api-doc.html 34KB
folder
win32port 文件夹
folder
zlib 文件夹
file
infback.c 22KB
file
inflate.h 6KB
file
crc32.c 13KB
file
inffast.c 13KB
file
inffixed.h 6KB
file
trees.c 43KB
file
gzio.c 31KB
file
gzlib.c 15KB
file
uncompr.c 2KB
file
gzread.c 18KB
file
deflate.h 12KB
file
gzwrite.c 15KB
file
inflate.c 52KB
file
inftrees.h 3KB
file
deflate.c 70KB
file
trees.h 8KB
file
zlib.h 85KB
file
crc32.h 30KB
file
zconf.h 15KB
file
gzguts.h 6KB
file
ZLib.vcxproj 18KB
file
adler32.c 5KB
file
inftrees.c 13KB
file
zutil.h 7KB
file
gzclose.c 678B
file
inffast.h 427B
file
ZLib.vcxproj.filters 3KB
file
compress.c 2KB
file
zutil.c 7KB
folder
client 文件夹
file
client.vcxproj 14KB
file
client.vcxproj.filters 2KB
folder
win32helpers 文件夹
file
getopt.h 703B
file
gettimeofday.c 1KB
folder
strings.h 文件夹
folder
unistd.h 文件夹
file
websock-w32.h 2KB
folder
sys 文件夹
file
time.h 13B
file
gettimeofday.h 596B
file
netdb.h 23B
file
getopt.c 4KB
file
websock-w32.c 2KB
file
getopt_long.c 7KB
file
win32port.sln 7KB
folder
libwebsocketswin32 文件夹
file
libwebsocketswin32.vcxproj.filters 3KB
file
libwebsocketswin32.vcxproj 14KB
folder
server 文件夹
file
server.vcxproj 15KB
file
server.vcxproj.filters 2KB
file
COPYING 26KB
folder
test-server 文件夹
file
test-server.c 14KB
file
favicon.ico 1KB
file
Makefile.am 3KB
file
test-ping.c 12KB
file
test-fraggle.c 8KB
file
test-server-extpoll.c 14KB
file
.gitignore 77B
file
test-client.c 8KB
file
test.html 8KB
file
libwebsockets.pc.in 228B
file
INSTALL 15KB
folder
scripts 文件夹
file
kernel-doc 61KB
folder
lib 文件夹
file
parsers.c 53KB
file
extension.c 788B
file
base64-decode.c 5KB
file
libwebsockets.c 80KB
file
sha-1.c 9KB
file
md5.c 5KB
file
extension-x-google-mux.c 31KB
file
private-libwebsockets.h 11KB
file
handshake.c 18KB
file
Makefile.am 1KB
file
extension-deflate-frame.h 649B
file
libwebsockets.h 29KB
file
extension-deflate-stream.c 4KB
file
extension-deflate-frame.c 7KB
file
.gitignore 56B
file
extension-deflate-stream.h 536B
file
extension-x-google-mux.h 2KB
file
client-handshake.c 10KB
file
Makefile.am 127B
file
libwebsockets.spec 1KB
file
configure.ac 3KB
file
.gitignore 407B
...
gz 文件大小:279.13KB