前端与后台通过 socket 提供接口的问题

2020-10-28 09:53:51 +08:00
 awanganddong

场景:获取表单里边的实时状态值

一般情况下是 ajax 轮询通过 http 协议获取接口实时内容

如果用 socket 来实现的话,

是不是每个接口,后台都要起一个新的端口来提供连接。

对于这点,不太清晰。

3731 次点击
所在节点    程序员
31 条回复
awanganddong
2020-10-28 12:02:33 +08:00
@baiyi 项目是基于 php-fpm ,一个 http 长链接就占了一个进程,实现起来不如 socket 来的合适。
awanganddong
2020-10-28 12:05:14 +08:00
des
2020-10-28 12:48:11 +08:00
longpoll sse websocket 都可以做到,你这种比较推荐 sse
CommandZi
2020-10-28 16:10:58 +08:00
是不是每个接口,后台都要起一个新的端口来提供连接。
不是

一个 socket 链接可以任何二进制数据,为什么要新起链接?
ISSSSSSS
2020-10-28 16:19:57 +08:00
Websocket 或者 SSE 。
dcoder
2020-10-28 17:25:59 +08:00
@awanganddong 楼里各种五花八门的回答,你们是在认证帮楼主么?
我认证问楼主个问题,现在 JS web 前端可以直接用 TCP/UDP socket 和后端通信了 ??
我记得以前是不能的. 如果不能,这个问题本身就不成立. 只能用 WebSocket (over TCP), 不需要你管理 socket ports.
maplelin
2020-10-28 18:07:40 +08:00
我寻思 websocket 也不存在的粘包啊,不会有人自己实现一个协议吧
oneisall8955
2020-10-28 18:37:07 +08:00
逐渐偏离主题,打起来打起来
awanganddong
2020-10-28 20:28:23 +08:00
乃们啊,就因为粘包打起来了。
xhinliang
2020-10-28 21:19:05 +08:00
浏览器能用裸 TCP 么,粘包党?
哈哈
muzuiget
2020-10-29 13:39:22 +08:00
不懂粘包,说明混 V2EX 不够久(狗头)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/719279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX