httpbeast —— Nim 实现的高性能多线程 HTTP 服务器
httpbeast 是使用 Nim 语言编写的高性能、多线程 HTTP 1.1 服务器。
主要特性
- 基于 Nim
selectors
模块构建,可以有效地利用 Linux 上的 epoll 和 macOS 上的 kqueue - 自动并行化,只需确保编译时添加
--threads:on
参数即可 - 支持 HTTP pipelining
- 按需使用的解析器,可用于仅解析请求的数据
- 与 Nim 的集成
asyncdispatch
支持在必要时在请求回调中使用 async/await
示例代码
创建helloHttp.nimble
文件:
# Package
version = "0.1.0"
author = "Your Name"
description = "Your Description"
license = "MIT"
srcDir = "src"
bin = @["helloHttp"]
# Dependencies
requires "nim >= 1.0.0"
requires "httpbeast >= 0.3.0"
创建src/helloHttp.nim
文件:
import options, asyncdispatch import httpbeast proc onRequest(req: Request): Future[void] = if req.httpMethod == some(HttpGet): case req.path.get() of "/": req.send("Hello World") else: req.send(Http404) run(onRequest)
通过nimble c -r helloHttp.nim
运行。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
每日一博 | 说一说 Web 端侧 AI
前言 AI 正在不断拓展前端的技术边界, 算法的加持也为前端研发注入了全新的力量。本文为大家介绍什么是端智能,端智能的应用场景以及 Web 端侧实现 AI 的基本原理概念。 什么是端智能 首先,回顾一个AI应用的开发流程,具体步骤包括了 数据的采集与预处理 模型的选取与训练 模型的评估 模型服务部署 模型训练的中间产物为一个模型文件,通过加载模型文件,部署为可调用的服务,然后就可以调用进行推理预测了。 在传统流程中,模型服务会部署在高性能的服务器上,由客户端发起请求,由服务器端进行推理,将预测结果返回给客户端,而端智能则是在客户端上完成推理的过程。 端智能的应用场景 端智能现在已经有非常多的应用场景,涵盖视觉类的 AR 、互动游戏,推荐类的信息流推荐,触达类的智能Push等,语音类的直播、智能降噪等多个领域。算法逐渐从服务端覆盖到用户实时感知更强的移动终端。 典型应用包括了 AR 应用、游戏。由 AI 提供理解视觉信息的能力,由 AR 根据视觉信息来实现虚实结合的交互,带来更沉浸式的购物、互动体验。比如美颜相机、虚拟试妆,即是通过检测人脸面部的关键点,在特定区域使用 AR 增强、渲染妆...
-
下一篇
WSL 在 Windows 11 的应用商店中发布
微软在其 Windows 11 的应用商店用发布了Windows Subsystem for Linux(WSL),用户可通过商店安装和更新 WSL,而无需修改 Windows 版本。 一般来说,WSL 是作为一个可选组件安装在 Windows中 的,这意味着启用它时需要重新启动电脑。在该可选组件中构成 WSL 逻辑的实际二进制文件是 Windows 镜像的一部分,并作为 Windows 本身的一部分进行维护和更新。而此次在商店中推出 WSL,使 WSL 与 Windows 版本解耦,用户可通过应用商店安装或更新 WSL,而不需要更新整个 Windows 系统。 此外,即使已经安装了有 WSL 的 Windows 版本,用户也可以再次从商店中安装 WSL。这两个版本可以共存,不过 WSL 商店版是默认的优先选项。微软表示,其目标是使微软商店成为安装和使用 WSL 的最佳方式,不过 WSL 的内置版本也不会停止更新。如欲了解更多详细内容,可查看其官方公告。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL数据库在高并发下的优化方案
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker容器配置,解决镜像无法拉取问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6