如何用websocketd做1对n的通讯?

问题描述

我在廖雪峰的介绍websocket的文章里,看到服务器端的软件websocketd,实例中是1对1的,我现在想扩展成1对n,怎么做?

问题出现的平台版本及自己尝试过哪些方法

http://websocketd.com/

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
服务端:

#!/usr/bin/php
<?php

# Count from 1 to 10 with a sleep
for ($count = 1; $count <= 10; $count++) {
    echo $count . "\n";
    usleep(500000);
}
?>

客户端:

$ websocketd --port=8080 my-program    
var ws = new WebSocket('ws://localhost:8080/');

ws.onmessage = function(event) {
  console.log('Count is: ' + event.data);
};

调试通过。

你期待的结果是什么?实际看到的错误信息又是什么?

客户端浏览器是用户登录进来的,如何得到只属于自己的服务端推送数据?

阅读 2.4k
1 个回答
新手上路,请多包涵

嗨,时隔多年,这个问题解决了吗?我最近也是遇到同样的问题,通过获取php $_SERVER["UNIQUE_ID"]即可解决这个问题,当然每次刷新都会生成新的id,您的存储到数据库里,当给某个用户推送信息,对比$_SERVER["UNIQUE_ID"]和数据库的uid相等,echo "...".PHP_EOL;即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进