Spring对WebSocket的支持
Spring 4.x引入了新的模块spring-websocket,对WebSocket提供了全面的支持,Spring的WebSocket实现遵循JSR-356(Java WebSocket API),并且添加了一些额外特性。
绝大部分现代浏览器均支持WebSocket,包括…
阅读全文基于Kurento搭建WebRTC服务器
Kurento是一个WebRTC媒体服务器,同时提供了一系列的客户端API,可以简化供浏览器、移动平台使用的视频类应用程序的开发。Kurento支持:
- 群组通信(group communications)
- 媒体流的转码(transcoding)、录制(re…
使用Jansson处理JSON
Jansson是一个用于解码、编码、操控JSON的C库。其特性为:
- 简单直观的API和数据模型
- 没有依赖项
- 完整的Unicode支持(UTF-8)
Jansson使用cmake作为构建工具。可以执行下面的命令构建:
1 2 3 4 5 |
git clone https://github.com/akheron/jansson cd jansson mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX:STRING=/home/alex/CPP/lib/jansson/2.9 -DJANSSON_BUILD_DOCS=OFF .. cmake --build . -- install |
上述命令执行后,Jansson的头文件和静态库被安装到/home/alex/CPP/lib/jansson/2.9目录
HTML5视频监控技术预研
安防类项目中通常都有视频监控方面的需求。视频监控客户端主要是Native应用的形式,在Web端需要利用NPAPI、ActiveX之类的插件技术实现。
但是,IE式微,Chrome也放弃了NPAPI,另一方面,监控设备硬件厂商的视频输出格式则逐渐标准化。这…
阅读全文Goland知识集锦
这是因为Goland默认每次Debug都强制重新编译所有依赖包,执行以下设置:
Settings ⇨ Build, Execution, Deployment ⇨ Debugger,取消勾选Rebuild transitive …
阅读全文Apache Curator学习笔记
Apache Curator(音标[kjʊ(ə)'reɪtə])Framework是ZooKeeper的Keeper(动物园管理员的管理员)。它是一个Java库,提供了比ZooKeeper更加高层的API,更加易用、可靠。Curator的推荐的ZooK…
阅读全文Apache Drill学习笔记
Apache Drill是一个模式自由(Schema-free )的、低延迟的、分布式的、可扩容的SQL查询引擎,可以让你使用熟悉的SQL语法对各种非关系型数据库进行操作。Drill支持针对PB级别数据的即席查询。Drill支持大量NoSQL数据和文件系统…
阅读全文Gorilla学习笔记
Gorilla是一个Web工具箱,包括以下包:
包 | 说明 |
gorilla/context | 存储请求变量 |
gorilla/mux | URL路由和分发器 |
gorilla/reverse | 支持基于正则式的路由 |
gorilla/rpc | 实现RPC over HTTP |
gorilla/… |
AsyncHttpClient知识集锦
本文所指的AsyncHttpClient是指基于Netty的一个开源项目,该项目基于Java8编写,用于简化HTTP客户端的开发。该项目还支持WebSocket协议。
要使用该AsyncHttpClient,引入以下Maven依赖:
1 2 3 4 5 |
<dependency> <groupId>org.asynchttpclient</groupId> <artifactId>async-http-client</artifactId> <version>LATEST_VERSION</version> </dependency> |
1 2 3 4 5 6 7 8 |
AsyncHttpClientConfig cf = new DefaultAsyncHttpClientConfig .Builder() // 设置代理服务器 .setProxyServer(new ProxyServer.Builder("127.0.0.1", 8087)) .build(); // 为客户端提供配置项 AsyncHttpClient http = new DefaultAsyncHttpClient(cf); |
ListenableFuture是java.util.concurrent.Future的子类型,你可以使用Java8并发框架…
阅读全文ZeroMQ学习笔记
ZeroMQ是一个高性能的分布式网络库,它的特性包括:
- 看起来像是嵌入式网络库,行为更像是分布式并发库
- 对于集群产品、超级计算领域来说,比TCP更快
- 支持以进程内、IPC、TCP、组播方式携带载荷
- 支持fanout, pubsub, pipeline, req…