[译]什么是Socket.IO?

原文链接:https://www.pubnub.com/guides/socket-io/ 什么是Socket.IO? Socket.IO是一个开源的跨平台库,它提供客户端和服务器之间基于事件的全双工双向通信。它基于 WebSocket 协议构建,提供附加功能,例如自动重新连接以及在无法使用 WebSocket时回退到HTTP 长轮询。 Socket.IO 客户端由客户端和服务器端库组成。虽然最初在服务器上支持NodeJS ,在客户端支持JavaScript,但现在它支持各种服务器和客户端技术,包括Java、Python、Swift和Kotlin,它们都是官方代码库的一部分,由活跃社区贡献。 Socket.io 有何用途? Socket.IO 允许您实现依赖于消息交换的各种应用程序,例如即时消息传递、多用户协作、实时分析、文件共享和通知。 ...

2024-05-07 · 4 min · 1859 words · chensoul

[译]什么是WebSocket?

原文链接:https://www.pubnub.com/guides/websockets/ 什么是 WebSocket? WebSocket 是一种通过单个TCP连接提供全双工通信通道的通信协议。它支持客户端和服务器之间的实时、事件驱动的连接。 与遵循请求-响应模型的传统 HTTP 软件不同,WebSocket 允许双向(双向)通信。这意味着客户端和服务器可以随时向对方发送数据,而无需持续轮询。 ...

2024-05-07 · 9 min · 4176 words · chensoul

[译]什么是长轮询?

原文链接:https://www.pubnub.com/guides/long-polling/ 什么是长轮询? 长轮询用于实时 Web 应用程序,以实现客户端和 Web 服务器之间近乎即时的通信。它在实时更新至关重要的聊天和消息应用程序中特别有用。 在传统的HTTP通信中,客户端向服务器发送新请求并等待响应。这称为短轮询。然而,在实时场景中,短轮询可能效率不高,因为它需要频繁向服务器请求,导致不必要的网络开销和增加延迟。 另一方面,长轮询通过在新数据可用之前保持请求长时间打开来提高效率。服务器保持请求打开并等待,直到有新信息发送回客户端。一旦服务器有新数据,它就会响应客户端,然后客户端可以处理数据并发起新的长轮询请求。 ...

2024-05-07 · 12 min · 5558 words · chensoul

[译]如何通过 WebSocket 将 Kafka 消息流式传输到面向互联网的客户端

原文链接:https://ably.com/topic/websockets-kafka Apache Kafka 是目前最强大的异步消息传递技术之一。 Kafka 由 Jay Kreps、Jun Rao 和 Neha Narkhede 等团队于 2010 年在 LinkedIn 设计,并于 2011 年初开源。如今,该工具被众多公司(包括科技巨头,例如 Slack、Airbnb 或 Netflix 使用)为其实时数据流管道提供支持。 ...

2024-05-07 · 15 min · 7216 words · chensoul

ThingsBoard的领域模型

ThingsBoard是一个开源的物联网平台,用于管理和监控物联网设备和数据。它提供了一个可扩展的架构,可以连接各种设备,并实时收集、处理和分析设备生成的数据。 领域模型 在ThingsBoard中,领域模型是一个关键概念,用于描述物联网系统中的物理实体、属性和行为。以下是ThingsBoard中的主要领域模型组件: ...

2024-05-07 · 4 min · 1654 words · chensoul

All things about ThingsBoard

thingsboard 是一款乌克兰团队基于java语言研发的开源物联网框架,开源的是ce版,企业版需要购买授权且无源码。 官方网站: Thingsboard 官网:https://thingsboard.io/ Thingsboard社区免费版本:https://demo.thingsboard.io/ Thingsboard 企业付费版本:https://thingsboard.cloud/ Thingsboard 源码:https://github.com/thingsboard/thingsboard TBMQ 源码:https://github.com/thingsboard/tbmq 中文网:http://www.ithingsboard.com/ ...

2024-04-29 · 2 min · 608 words · chensoul

TBMQ测试和源码分析

启动 TBMQ 程序,浏览器访问 http://localhost:8083,创建一个 Application,Credentials Type 为 BASIC,客户端 ID、用户名和密码均设置为 tbmq_app 使用 mosquitto 测试订阅消息 1 mosquitto_sub -d -q 1 -h localhost -p 1883 -t tbmq/demo/+ -i 'tbmq_app' -u 'tbmq_app' -P 'tbmq_app' -c -v Debug 调试 MqttSessionHandler 类的 channelRead(ChannelHandlerContext ctx, Object msg) 方法 ...

2024-04-28 · 10 min · 4887 words · chensoul

ThingsBoard TBMQ本地和通过Docker运行

docker-compose 运行 参考:https://thingsboard.io/docs/mqtt-broker/install/cluster/docker-compose-setup/ 下载源代码 1 2 git clone -b release-1.3.0 https://github.com/thingsboard/tbmq.git cd tbmq/docker 创建逻辑卷并执行安装程序 1 2 ./scripts/docker-create-volumes.sh ./scripts/docker-install-tbmq.sh 运行服务 1 ./scripts/docker-start-services.sh 浏览器访问:http://localhost:8083,用户名/密码:[email protected] / sysadmin 查看 HaProxy 日志,发现出现异常:Error: Specified qdisc kind is unknown. 。 目前,尚未找到解决办法,只能不使用 HaProxy 而是直接访问 tbmq1,修改 docker-compose.yml ,暴露容器端口 8083 到本地的 8083: ...

2024-04-17 · 2 min · 669 words · chensoul

All things about MicroProfile

最近在一些开源项目中看到了 MicroProfile ,于是在网上查阅了相关资料加深对 MicroProfile 的理解,并做了笔记形成此文。 MicroProfile MicroProfile是一个开放的企业级Java微服务框架,旨在简化和标准化基于微服务架构的应用程序开发。它是由Eclipse Foundation主导的一个开源项目,致力于提供轻量级、可移植和可互操作的Java微服务规范和实现。 ...

2023-12-14 · 8 min · 3945 words · chensoul

JHipster安装和介绍

JHipster 是一个开发平台,可以快速生成,开发和部署现代 Web 应用程序+微服务架构。 JHipster 或者称 Java Hipster,是一个应用代码产生器,能够创建 Spring Boot/Spring Cloud + React/VueJs/AngularJS 的应用。使用 JHipster,首先你要配置好 Java 、Git 以及 Maven 或者 Gradle 的环境,然后通过 NodeJs 管理工具安装 JHipster 。 ...

2023-11-02 · 7 min · 3430 words · chensoul