jjzjj

phpwebsocket

全部标签

php - 如何理解客户端在服务器中向哪个路由发送了 websocket 消息?

我正在构建一个服务器,在尝试实现websocket协议(protocol)时遇到了一些问题。如问题标题所述,假设我定义了两条路由(/ws1、/ws2),它们公开了多个websocket连接。在握手的情况下,我可以成功地了解发送握手请求的路由。手头的主要问题是,当客户端发送后续的websocket消息时,服务器将如何理解websocket消息发送到哪个端点。阅读后:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers我知道消息中没有表示路由的字段。以防万一:我在P

php - 使用 Ratchet 创建/管理私有(private)房间?

我正在制作iOS聊天应用程序。在研究了所需的技术和协议(protocol)之后,我决定尝试一下websockets。由于我们的堆栈顶部是基于php的原因,我开始了解Ratchet作为PHP的websockets。我通过阅读为ios前端制作了简单的聊天服务器documentation.聊天功能非常好,我也很满意。我想知道如何创建单独的私有(private)聊天室。是否需要为不同的房间运行不同的套接字事件循环实例?我制作的示例服务器使用单个事件循环来管理用户连接并将消息分派(dispatch)给不同的连接/用户ID。我真的很想寻找创建私有(private)聊天室的方法,但没有找到任何我可以

javascript - 如何在不刷新页面的情况下使用codeigniter中的websocket更新内容

我在php框架codeigniter工作。现在我想通过websocket更新记录,这样信息就可以在不刷新页面的情况下更新。我可以使用ajax,jquery但我需要通过websocket来做到这一点。所以请任何人帮助如何使用websocket完成此功能以及如何在codeigniter中使用它。 最佳答案 CodeIgniter不支持websockets。但是,您可以使用外部库,如Ratchet在您的CI应用程序中。 关于javascript-如何在不刷新页面的情况下使用codeignite

php - 如何发送自定义 HTTP header 作为响应?

我想在我的HTTPheader中发送json数据。我正在使用CodeigniterPHP,所以我在我的Controller中这样做了:header('Content-Type:application/json');'这是我的代码:$request=array('request'=>$_GET['request'],'device_id'=>$_GET['device_id'],'launch_date'=>$_GET['launch_date'],'allowed_hours'=>$_GET['allowed_hours'],'site_id'=>$_GET['site_id'],'p

php - PHP Websocket 和 Wamp 服务器出错

我对这个Websockets很陌生,我正在尝试连接这个websocket:phpwebsocket使用WAMP服务器,首先,在我的httpd.conf中,我写了listen9300,如果我转到localhost:9300,它会正常工作,但是当我转到控制台并写入时:php-qC:\wamp\www\demos\server.php我遇到了这个错误:这是server.php的代码:wsClients[$clientID][6]);if($messageLength==0){$Server->wsClose($clientID);return;}if(sizeof($Server->wsCl

javascript - Websockets - 获取数据(轮询?)

对于一些已经全神贯注的人来说,这可能是一个愚蠢的问题,也许我只需要更多coffee.问题是否使用websockets或ajax似乎仍有一些投票正在进行。这是正确的吗?示例(非真实项目):我想关注一个文本文件。除非我遗漏了什么(更多的咖啡?),我不是还需要a)询问服务器是否有更新,或者b)告诉页面我有更新;通过让PHP代码休眠一段时间或使用setTimeout在客户端循环。我确实理解的事情:我确实看到了在服务器和页面之间来回对话的好处。我看到我没有发送http请求。所以我看到了好处。细节:我一直都是用xmlhttprequest所以我决定根据我的理解检查整个websockets的事情,数

PHP Ratchet Wamp 在发布事件中向订阅者广播

我正在开发一个Web应用程序,我需要以下场景的实时行为,应用程序将有两种类型的用户Player和Spectator。玩家可以加入正在进行的游戏,而观众则只能观看。游戏将由管理员用户初始化。旁观者基本上是可以看到已加入游戏的人员列表的人。当然,这需要是实时的,即当玩家断开连接或新玩家加入游戏时,观众会看到实时列表。总结一下,考虑下面的例子Spectator_1joinsClan_101Spectator_2joinsClan_201Player_1joinsClan_101//NeedtobroadcastthiseventtoSpectator_1Player_2joinsClan_1

php - Ratchet/网络套接字 : How many clients subscribing to an object?

我想知道有多少客户实际订阅了聊天室/对话。更准确地说,我只想知道是否有超过1个客户端。(聊天室实际上是两个用户之间的私有(private)对话)。一次只有一个聊天室/私有(private)对话(每位用户)。classChatimplementsWampServerInterface{protected$conversationId;publicfunction__construct(){$this->conversationId=null;}publicfunctiononSubscribe(ConnectionInterface$conn,$conversation_id){$thi

javascript - 使用 MySQL 数据库更改发送 WebSocket 更新哪个更有效

我目前正在尝试使用WebSockets来减少/消除在潜在的低带宽环境中对持续AJAX请求的需求。所有设备都兼容WebSocket,因此没有问题,我试图将其保留为nativePHPWebSocket,没有node.js或其他框架/库(到目前为止一切正常)。我要做的是决定如何通知连接的客户端有关另一个客户端对数据库的更新。所讨论的用例是一个人在他们的设备上按下一个按钮,然后该按钮会提醒该人员的经理按下该按钮。所以我的两个选择如下:1。循环数据库查询(PHP)我的第一个想法是在WebSocket服务器中插入一个查询,实际上是在说“警报字段是否已更改?如果是,请通知经理”。虽然这是最直接和最明