小程序在首页上做显示“用户刚刚下单了1件苹果。”,类似这样的提示。

wenlong_15 2020-11-09 11:12:24
小程序在首页上做显示“用户刚刚下单了1件苹果。”,类似这样的提示。

之前用前端interval()定时做一个接口轮询,这样做会把服务器拖死机,后端我用的是th5.0框架,前端是微信小程序,用什么技术做效果会比较好?
...全文
768 18 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenlong_15 2020-11-15
引用 17 楼 wenlong_15 的回复:
正在用 swoole websocket实现,
现在报这个错,是什么问题,怎么解决?

[2020-11-15 10:38:01 *18820.0] WARNING swFactoryProcess_finish (ERROR 1008): send failed, connection[fd=2] output buffer has been overflowed.


SWOOLE_ERROR_OUTPUT_BUFFER_OVERFLOW 1008 output buffer overflow

谢谢大家,上面的错误跑题了,swoole连接正常了,还有一个问题,swoole的 php 开启swoole怎么一直开启呢,现在是在linux手动 php index.php开启的,如果我把窗口关闭了,那swoole连接就关闭了,是不是有什么参数可以长久开启?
  • 打赏
  • 举报
回复
wenlong_15 2020-11-15
正在用 swoole websocket实现,
现在报这个错,是什么问题,怎么解决?

[2020-11-15 10:38:01 *18820.0] WARNING swFactoryProcess_finish (ERROR 1008): send failed, connection[fd=2] output buffer has been overflowed.


SWOOLE_ERROR_OUTPUT_BUFFER_OVERFLOW 1008 output buffer overflow
  • 打赏
  • 举报
回复
similing 2020-11-13
能做服务端推送数据给客户端的目前只有两种方式:轮询、socket。 我现在考虑在使用一种方式,可以通过服务端提供一个接口获取cdn或者云存储做一个寻址判断服务端是否来消息了。 比如我服务端来消息了先把一个文件存储到云存储,然后客户端轮询云存储过程发现某个文件存在了,就去服务器请求,并把下一次轮询的地址返回来。 我只是考虑的解决方案,并未真正实施,需要进一步考证,希望能帮到你。
  • 打赏
  • 举报
回复
qq_39047451 2020-11-12
引用 13 楼 wenlong_15 的回复:
[quote=引用 12 楼 qq_39047451 的回复:][quote=引用 11 楼 wenlong_15 的回复:][quote=引用 9 楼 qq_39047451 的回复:][quote=引用 8 楼 qq_39047451 的回复:][quote=引用 7 楼 wenlong_15 的回复:][quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket[/quote]swoole也行,看业务难度[/quote]
php的tp5能用swoole和workman扩展吗?[/quote]
你是不是从来不看手册?????https://www.kancloud.cn/manual/thinkphp5_1/354134[/quote]
看过th5的手册不支持,还想问一下您,把th5升级成tp6,在官网上下载包后把代码复制到对应的目录下,会有兼容问题吗?[/quote]
不知道,没试过,我是tp6安装tp6的workman扩展
  • 打赏
  • 举报
回复
wenlong_15 2020-11-11
引用 13 楼 wenlong_15 的回复:
[quote=引用 12 楼 qq_39047451 的回复:][quote=引用 11 楼 wenlong_15 的回复:][quote=引用 9 楼 qq_39047451 的回复:][quote=引用 8 楼 qq_39047451 的回复:][quote=引用 7 楼 wenlong_15 的回复:][quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket[/quote]swoole也行,看业务难度[/quote]
php的tp5能用swoole和workman扩展吗?[/quote]
你是不是从来不看手册?????https://www.kancloud.cn/manual/thinkphp5_1/354134[/quote]
看过th5的手册不支持,还想问一下您,把th5升级成tp6,在官网上下载包后把代码复制到对应的目录下,会有兼容问题吗?[/quote]
看过tp5.0的
  • 打赏
  • 举报
回复
wenlong_15 2020-11-11
引用 12 楼 qq_39047451 的回复:
[quote=引用 11 楼 wenlong_15 的回复:][quote=引用 9 楼 qq_39047451 的回复:][quote=引用 8 楼 qq_39047451 的回复:][quote=引用 7 楼 wenlong_15 的回复:][quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket[/quote]swoole也行,看业务难度[/quote]
php的tp5能用swoole和workman扩展吗?[/quote]
你是不是从来不看手册?????https://www.kancloud.cn/manual/thinkphp5_1/354134[/quote]
看过th5的手册不支持,还想问一下您,把th5升级成tp6,在官网上下载包后把代码复制到对应的目录下,会有兼容问题吗?
  • 打赏
  • 举报
回复
wenlong_15 2020-11-10
引用 9 楼 qq_39047451 的回复:
[quote=引用 8 楼 qq_39047451 的回复:][quote=引用 7 楼 wenlong_15 的回复:][quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket[/quote]swoole也行,看业务难度[/quote]
php的tp5能用swoole和workman扩展吗?
  • 打赏
  • 举报
回复
qq_39047451 2020-11-10
引用 11 楼 wenlong_15 的回复:
[quote=引用 9 楼 qq_39047451 的回复:][quote=引用 8 楼 qq_39047451 的回复:][quote=引用 7 楼 wenlong_15 的回复:][quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket[/quote]swoole也行,看业务难度[/quote]
php的tp5能用swoole和workman扩展吗?[/quote]
你是不是从来不看手册?????https://www.kancloud.cn/manual/thinkphp5_1/354134
  • 打赏
  • 举报
回复
这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的
  • 打赏
  • 举报
回复
socket?
  • 打赏
  • 举报
回复
引用 7 楼 wenlong_15 的回复:
[quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的
是想实现,谁下单了就在首页上滚动显示一下。[/quote] 实在想实现也不是不可以, 你可以把数据缓存起来,30秒请求一次就是。 你也可以写一个脚本每30秒生成一个json 文件。你前端 每30秒去请求这个json文件 这样试一试呢
  • 打赏
  • 举报
回复
qq_39047451 2020-11-09
引用 8 楼 qq_39047451 的回复:
[quote=引用 7 楼 wenlong_15 的回复:][quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket[/quote]swoole也行,看业务难度
  • 打赏
  • 举报
回复
qq_39047451 2020-11-09
引用 7 楼 wenlong_15 的回复:
[quote=引用 2 楼 下雨的声音丶 的回复:]这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。[/quote]实时的,你看看workman 了解下 socket
  • 打赏
  • 举报
回复
wenlong_15 2020-11-09
引用 2 楼 下雨的声音丶 的回复:
这种信息哪有那么重要,跟着首页接口返回来就是了,不需要轮询去获取,没必要。socket 也没必要。要吗就跟着首页接口一起返回一些数据,要吗就单独接口请求一次就行了,这种数据也不一定是真实的

是想实现,谁下单了就在首页上滚动显示一下。
  • 打赏
  • 举报
回复
qq_39047451 2020-11-09
引用 5 楼 qq_39047451 的回复:
[quote=引用 4 楼 wenlong_15 的回复:][quote=引用 3 楼 qq_39047451 的回复:]怎么会把服务器拖死??????
一次取最新的十条就可以啦呀,如果用户量大,就队列存取,如果要求高就socket
30秒一次请求,每个用户都是,会拖死服务器。[/quote]
每个用户看的都是一样的数据吧?这个可以缓存到redis中,下单时候插一下就行了呀......怎么会拖死服务器[/quote]30秒是不是太快了,1分钟不好嘛,然后进来的人,分配一个随机数,30+随机数取请求,不是可以缓解同一时间的数量嘛
  • 打赏
  • 举报
回复
qq_39047451 2020-11-09
引用 4 楼 wenlong_15 的回复:
[quote=引用 3 楼 qq_39047451 的回复:]怎么会把服务器拖死??????
一次取最新的十条就可以啦呀,如果用户量大,就队列存取,如果要求高就socket
30秒一次请求,每个用户都是,会拖死服务器。[/quote]
每个用户看的都是一样的数据吧?这个可以缓存到redis中,下单时候插一下就行了呀......怎么会拖死服务器
  • 打赏
  • 举报
回复
wenlong_15 2020-11-09
引用 3 楼 qq_39047451 的回复:
怎么会把服务器拖死??????
一次取最新的十条就可以啦呀,如果用户量大,就队列存取,如果要求高就socket
30秒一次请求,每个用户都是,会拖死服务器。
  • 打赏
  • 举报
回复
qq_39047451 2020-11-09
怎么会把服务器拖死??????
一次取最新的十条就可以啦呀,如果用户量大,就队列存取,如果要求高就socket
  • 打赏
  • 举报
回复
相关推荐
发帖
Framework
加入

4247

社区成员

国内外优秀PHP框架讨论学习
社区管理员
  • Framework
申请成为版主
帖子事件
创建了帖子
2020-11-09 11:12
社区公告
暂无公告