怎么实现数据库最新消息推送到已连接的浏览器上

mertred

想实现的功能就是 当数据库插入最新数据的时候 把这条数据推送给链接的服务器

看了很多帖子和方法 对workerman也是一知半解
所以把其他的方法都除掉了 就留下login表示连接成功 之后准备监视数据库 。
当数据库插入最新数据的时候 把数据推送给已连接的所有用户 不知道有没有人已经解决或者有其他思路。
PS:也想过顺便用监听端口的方式 当添加的sql语句成功便想某个监视的端口发送信息 但是想到两个问题:
1,是 如果其他人发现这个端口 乱发送信息(不知道能不能实现)怎么防御(增加个验证?) ;
2,因为是用PHP的 ,发送数据端口只百度到已文件流的形式 能不能简化 直发送字符串就可以了?
新手一枚 第一次发帖子 写的很乱 幻影看得懂和愿意交流这问题的人回复 一直都在 希望能解决这个问题。

3946 1 0
1个回答

walkor

http://www.workerman.net/web-sender
你可以直接用这个。
在数据库更新的时候通过curl调用接口提送数据即可。

如果curl的端口不想暴露给外网,改下监听的ip就好(设置防火墙也行)。
start_io.php里,在60行左右
$inner_http_worker = new Worker('http://0.0.0.0:2121');
改成下面这样127.0.0.1,表示只能在当前服务器本机才能调用,外网或者内网调用不到
$inner_http_worker = new Worker('http://127.0.0.1:2121');
也可以只监听内网ip,也就是127.0.0.1改成内网ip,这样外网也调用不到,内网任何一台服务器都可以给任意用户推送数据

  • mertred 2017-01-04

    就是还是监视端口的方式 当数据库添加信息成功 就向监视的端口发送数据是吧?

  • walkor 2017-01-04

  • mertred 2017-01-04

    @1:谢谢 已经解决了 这个方法的问题也是卡在向端口发送数据这个地方 原来有实例 真是太好了 我找了和尝试了好久! 非常感谢 =。= 在这里吐槽一下 确实发帖比在群里瞎问的感觉好很多 至少不会被打搅 也希望这个问答能帮助更多人

年代过于久远,无法发表回答
🔝