惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
C
Cybersecurity and Infrastructure Security Agency CISA
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Know Your Adversary
Know Your Adversary
S
Securelist
I
Intezer
AWS News Blog
AWS News Blog
L
LINUX DO - 热门话题
P
Privacy International News Feed
Recent Announcements
Recent Announcements
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 聂微东
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
N
News and Events Feed by Topic
The GitHub Blog
The GitHub Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
爱范儿
爱范儿
B
Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
CERT Recently Published Vulnerability Notes
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
WordPress大学
WordPress大学
S
Secure Thoughts
K
Kaspersky official blog
N
News | PayPal Newsroom
O
OpenAI News
Last Week in AI
Last Week in AI
C
Check Point Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyberwarzone
Cyberwarzone
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tor Project blog
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
D
Docker
Hugging Face - Blog
Hugging Face - Blog
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
The Register - Security
The Register - Security
博客园 - 司徒正美
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
P
Palo Alto Networks Blog

Web Dev

没想到 2026 年,还要浪费大量时间在跨域问题上 - V2EX 关于 webview 移动应用开发的一些疑惑,求解答 - V2EX 浏览器访问一个域名不通的情况下,如何让这个域名再次发起 dns 请求 - V2EX 用 socks5 代理无法返回正常网页内容 - V2EX Datastar 未来有机会代替 React 吗? - V2EX nb 了, chrome mobile 文件上传还存在问题啊,不能同时允许多种 accept ,页面会触发刷新 - V2EX 请教下大佬们有无移动端 app 上 h5 页面休眠/内存优化思路 - V2EX 想问问现在大家工作/业务上都用上 http3 了吗? - V2EX 如何截断 http 请求 - V2EX v2 的新回复展示 是如何推送的? - V2EX 有没一种可以将 http/socks 代理转 http 协议的东西? - V2EX 关于 Https 证书验证问题 - V2EX 想找静态网页托管服务,无需域名 - V2EX 如何拼凑不同网页的不同部分到一个网页 - V2EX 特别快速开发网页程序的方法? - V2EX shopify 怎么切换 identity provider - V2EX 还有人在使用 ASP 吗? - V2EX 看到一个项目, H5 页面使用 ip 部署,确定没有 ssl,为啥从微信打开还是能调用摄像头? 求推荐开源的工业领域电商项目 - V2EX 纯编程小白,用 ds 做了个网站碰到阿里云部署问题,寻求耐心指导 - V2EX 请问一下,各位是使用哪些统计平台呢?使用 uniapp 开发的 APP,相对用户进行记录与统计。 - V2EX API 请求体字段定义询问各位大佬。 - V2EX 网络请求 ERR_CONNECTION_ABORTED,问题求助 - V2EX 什么样的网站算设计精良的 - V2EX 应不应该把主键 id 暴露在 url 上? - V2EX 前端项目部署到服务器,怎么调通访问服务器上的内网 IP 接口 - V2EX 本地开发用什么域名? - V2EX c++ go rust 谁更适合开发 嵌入式 Linux 上的 web 后台服务 - V2EX 求知 大佬们 一定帮我解答下 感谢 Fastapi 框架中的模板引擎 jinja2 是否已过时,或者说是否还建议使用 - V2EX 推荐一个 web 开发小工具,检测页面是否可以 iframe, 网址 https://iframetester.dev/ - V2EX failed to load response data: no resource with given identifier found - V2EX 请教谷歌浏览器自动填充 - V2EX 各位都在用什么 web 证书方案呢 - V2EX 求助:通过 http 访问某域名失败 - V2EX 服务器端 http 接口调试工具 - V2EX 请教一下搜索和搜索结果页面分离如何参数传递? - V2EX flutter 开发 web 似乎问题也不大 - V2EX 网站中使用原生 dialog 优化用户体验 - V2EX 接口防重放 是不是存粹的脱了裤子放屁? - V2EX VSCode 这种基于 Web 的文本编辑器中的输入光标是怎么实现的? - V2EX web 里上传文件 4mb 可以, 5mb 只能等超时是啥问题; - V2EX web 开发实战练习的项目有哪些?不是单独一个页面的,是能完整做出一个完整网站的。 - V2EX 关于 Web 开发困惑,请教从移动开发转到 Web 开发的大佬 - V2EX 请教一下 web app 架构问题 - V2EX 请教各位,作为一名计算机小白设计师,用什么平台搭建自己的个人网站比较好? - V2EX 目前还有没有国内访问比较友好的静态网页托管服务 - V2EX 请问有什么事件可以监听到 GuzzleHttp 的 curl 请求吗? - V2EX 如果别人拿我的微信云环境当图床使用,微信有没有防御措施? - V2EX 腾讯现在还提供 url.cn 这种短链接服务吗? 还有大公司提供吗? - V2EX
请教: WebSocket + Protobuf 做服务,如何定义路由 - V2EX
uiosun · 2024-05-19 · via Web Dev

抛弃路由的概念,用 pb 定义消息结构就好。举个例子

message FetchChatHistoryRequest(id, count, start, end, e.g.)
message FetchChatHistoryResponse(repeat string xxx)
message SendChatMsg(string target, string content)

在实现里收到消息,解析类型,派发给对应 Type 的逻辑做业务逻辑处理,他们的逻辑当是独立离散的。
理解这一层之后,收发两端都有个需要,就是识别一个 raw bytes 比如 Java 语言会接收到 byte[] 作为消息包,要知道它具体是什么。 这里有两种思路: 第一是像二楼这样,外层用 TCP 的 TV 或 TLV 来包装一下,就是 type-length-value 这种。前两个字段一定要定长,比如 type 是 4byte 的数字类型,自己给上述消息定义好类型 id 。lenght 是 8byte 的长整形,数值是后面 value 部分的长度。value 里就是 pb 消息,encoded pb bytes 。 自己写个简单的 encoding / decoding 逻辑