Symfony 2 网络套接字

Posted

技术标签:

【中文标题】Symfony 2 网络套接字【英文标题】:Symfony 2 websockets 【发布时间】:2012-05-15 20:06:46 【问题描述】:

我正在尝试使用 websockets 和 Symfony 2 创建一个聊天应用程序。给定聊天室的传入消息应存储在 mysql 数据库中,而传出消息应发送给该聊天室的所有注册者。我正在考虑在后端使用这样的东西(使用 Symfony 2) https://github.com/GulDmitry/php-websocket-server

这是前端 http://socket.io/

我认为所有用户都应该添加到某种全局服务器数据结构中,该结构指定更新聊天室时向谁发送消息。在 PHP 中可以实现这样的结构吗?似乎不会,所以我不确定解决这个问题的最佳方法是什么。

【问题讨论】:

【参考方案1】:

是的。 “服务器”通常是一个永远运行的 php 进程。您不希望它通过您的网络服务器运行,因此您可以从命令行启动套接字服务器并让它运行。使用这种结构,您可以只使用一个数组来存储所有用户。

最终,您可能希望运行多个实例。您可以让多个脚本通过内存、文件、数据库或其他形式的 IPC 进行通信。因此,该结构可以在任何单个套接字服务器进程之外维护。但是,这些问题超出了您的问题范围。

【讨论】:

谢谢。我想我将安装一个 node.js 服务器并使用它将信息从客户端传递到我的 PHP 服务器。

以上是关于Symfony 2 网络套接字的主要内容,如果未能解决你的问题,请参考以下文章

网络篇套接字编程

网络篇套接字编程

symfony 发生错误:注意:未定义的属性:::$container

Linux——网络编程套接字

Java网络编程之UDP和TCP套接字

Linux/UNIX网络编程的目录