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

推荐订阅源

GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
L
LangChain Blog
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
J
Java Code Geeks
月光博客
月光博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI

WebSocket

如果有多个 websocket 业务需求,一般情况下后端是建立一个还是多个 websocket 更好? webSocket 在项目运动过程中 可以时不时重新连接吗? websocket 下载文件的原理是啥? 麻烦问个 Java websocket 的性能优化问题(比较基础) 请教一下 websocket 实现发图片的方案和保存聊天记录的方案; 问些 websocket 的问题 websocket 的 ping/pong 标准是需要服务器主动发 ping? [有偿] 原生 app 开发即时通讯 关于 websocket 长链接的问题 请教, websockets 模块起服务, websockets.serve 的方法问题。 WebSocket 频繁爆出异常 问一个 websockets 的问题 Java 中 websocket 中 session 长久保持打开状态 使用 gevent 作为 Websocket 服务端,浏览器上用 setInterval 定时重复建立 Websocket,结果导致 gevent 不会自动释放之前废弃的连接,内存快要溢出了。怎么自动回收废弃连接呢 websocket 在 springsecurity 下结合 jwt 的问题 sync-player:使用 websocket 实现异地同步播放视频 Websocket 直播间聊天室教程 - GoEasy 快速实现聊天室 Uniapp 使用 GoEasy 实现 websocket 实时通讯 搭建 websocket 消息推送服务,必须要考虑的几个问题 最近在看 websocket 的聊天室功能,有个小疑问
websocket 如何投递消息到 http
v2li32 · 2024-05-13 · via WebSocket

我在构思微服务下如何通过 websocket 作为交互。

运行流程

client => http => server => ws/tcp => server2 收到 => server2 通过 unixsocket 投递消息到 work 处理完成后 => 通过 ws 写消息回去 => server 的 ws 收到消息

这个时候 如果正常处理 加工收到的消息, 写入消息到 client 的 fd,close 掉 client 连接 应该是可行的。

平常业务代码

client => server(伪代码)=> return

<?php

func add(){
	$get= $_REQUEST_PARAMS;
	return success("code=>200,data=$get,msg=''");
}

如果换成上面通过 websocket 交互

都不需要返回了, server 收到 server2 结果后 fwrite($client_fd,$data); close($client_fd);

<?php

func add(){
	$get= $_REQUEST_PARAMS;
    (new Ws)->send($get);
}

上面写好奇怪的样子。。 我想实现下面的写法有办法吗(代码直观看着舒服),比如

<?php

func add(){
	$get= $_REQUEST_PARAMS;
    $res = (new Ws)->send($get);

    return success("code=>200,data=$res,msg=''");
}

如果想实现上面这样子,需要在加一个队列(起到 while true 阻塞效果?)。

开辟 1 片内存 $arr[$client_fd] => $data; 数据回来后写入。然后 pop 消息。

这样子就好像成 select 了。。 无时无刻在遍历,有数据在返回,性能问题很大。。

然后好像为了解决问题又引入新的问题。

大佬们给点思路呢