赞
踩
websocket是html5中新增的协议,websocket的特点是全双工,服务端和客户端可以互相发送消息。得益于不同平台对websocket协议的广泛实现,它为跨多种平台的实时网络应用程序开发提供了极大的方便。除了可以在前端开发的JavaScript 中使用 WebSocket 之外,我们也可以在 Java、C++、Go、Rust 等编程语言平台中使用 WebSocket。
我汇总整理了8款目前常用的websocket开源框架,都是比较优秀的websocket库,大家可以来了解一下。
GoEasy是一款在国内比较流行的websocket开发框架,目前GoEasy提供完整的websocket前后端解决方案。据了解,GoEasy目前支持比较多的前端技术/框架比如小程序、react、vue、uniapp等的消息发送和接收,另外还支持php、java、python等服务端语言通过调用Restful API实现服务端的消息推送。有websocket使用需求的开发者可以来注册GoEasy账号进行测试使用。
项目主页:https://www.goeasy.io/
noPoll 是一个 WebSocket 的开源实现,使用 ANSI C 编写,可用于构建纯 WebSocket 解决方案和为已有的面向 TCP 的应用程序提供 。
项目主页:http://www.aspl.es/nopoll/
Wslay 是一个用 C 语言实现的 WebSocket 开发库。实现了 RFC 6455 中描述的第 13 版本的协议。提供了基于事件的 API 和基于帧的底层 API。特别适合非堵塞的 reactor 模式风格应用。可在不同的事件中设置回调。Wslay 只支持 WebSocket 协议的数据传输部分,不执行 HTTP 的握手过程。
项目主页:https://tatsuhiro-t.github.io/wslay/tutorial.html
libwebsockets是一款轻量级用来开发服务器和客户端的C库。按照官方给出的介绍来看,它不仅支持ws,wss还同时支持http与https,可以轻轻松松结合openssl等库来实现ssl加密。
项目主页:https://libwebsockets.org/
WebSocket++ 是一个只包含 C++ 头文件的 WebSocket 的 C++ 开发包,实现了 RFC 6455 也就是 WebSocket 协议。可以在 C++ 应用中实现 WebSocket 客户端和服务器端功能。使用可交换的网络传输模块,包括 C++ iostreams 和 Boost Asio。
项目主页:https://github.com/zaphoyd/websocketpp
uWebSockets,µWS (“microWS”) 是一个客户端和服务器的 WebSocket 和 HTTP 实现。它简单、高效且轻量级。
这个库在底层依赖于 libuv 库,作为异步网络 I/O 库。
项目主页:https://github.com/uNetworking/uWebSockets
POCO C++ 库是一个跨平台的 C++ 网络库。其中包含了 WebSocket 的实现模块。Poco 库是一个比较强大,比较复杂的网络库。
项目主页:https://pocoproject.org/
基于 Boost.Asio 以 C++11 构建的 HTTP 和 WebSocket 库。Boost 项目的 HTTP 和 WebSocket 库。
项目主页:https://www.boost.org/doc/libs/1_66_0/libs/beast/doc/html/index.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。