Log4J2学习笔记
Apache Log4j 2是Log4j的重大升级, 引入了Logback包含的大量改进,并修复了Logback架构中某些内在的问题。Log4j2的特性包括:
- API和实现分离:接口更加稳定
- 性能提升:使用基于LMAX Disruptor库的异步日志机制。…
基于Broadway的HTML5视频监控
Broadway是一个基于JavaScript的H.264解码器,支持Baseline Profile,我们在HTML5视频监控技术预研一文中介绍过这个库。如果你的监控摄像头支持Baseline的H.264码流,利用Broadway可以实现不需要重新编码的视频监控,这样服务器的…
阅读全文WebSocket协议
WebSocket是一种全双工(full-duplex)的双向通信技术,它依赖于单个套接字。使用WebSocket之后,HTTP连接升级为TCP长连接,可以被反复使用以传输数据。WebSocket连接可以在HTTP或者HTTPS之上启动。
WebSock…
阅读全文基于C/C++的WebSocket库
libwebsockets是一个纯C语言的轻量级WebSocket库,它的CPU、内存占用很小,同时支持作为服务器端/客户端。其特性包括:
- 支持ws://和wss://协议
- 可以选择和OpenSSL、CyaSSL或者WolfSSL…
C++日志组件spdlog
spdlog是基于C++ 11的日志组件,它非常轻量,使用时你仅仅需要引入头文件就可以了。
名字空间 spdlog::之下的大多数函数都是线程安全的,除了:
1 2 3 |
void spdlog::set_pattern(const std::string&); void spdlog::set_formatter(formatter_ptr); void spdlog::set_error_handler(log_err_handler); |
日志器对象的大部分方法也是线程安全的,除了:
所有以_mt结尾的SINK都是线程安全的,以_st结尾的则不是。
spdlog默认的输出格式为:
要定制输出格式,可以调用:
或者实现自己的格式化器:
输出格式的Pattern中可…
阅读全文Spring Boot学习笔记
Spring Boot是Spring的一个子项目,它让创建独立运行(通过java -jar)的、产品级别的Spring应用变得简单:
- 支持创建独立运行于JVM中的Spring程序
- 内嵌Tomcat、Jetty或者Undertow,不需要部署War包
- 简化Ma…
SockJS知识集锦
SockJS允许应用程序使用WebSocket来进行通信,但是当WebSocket不可用时,可以使用代替的传输机制,但是保持API不变。
SockJS由以下部分组成:
- SockJS协议
- 一个JavaScript客户端
- SockJS服务器端实现,例如 sprin…