我已经阅读了一些关于编写套接字服务器的好文章,但我想在这里询问是否还有关于我实际需要的知识/想法。
我为同一台服务器运行的客户运行多个网站,连接到同一个数据库等。每个客户网站都有一个表单,用户可以在表单中提交我们提供的服务的详细信息。这些用户分布在世界各地,但我想要建立的是一个监控系统,我的界面显示用户的IP地址,他们所在的客户网站,他们所在的页面等。从IP我会做一个国家/国家查询(我知道它不是100%准确,但足够接近是好的)。
我希望访问站点将数据包发送到套接字服务器,然后套接字服务器将输出信息实时发送到我的屏幕(在我执行某些操作之后)。我想你可以说我正在建立一个迷你NOC来监控网站活动。我还希望输出信息是屏幕顶部的最新活动,但也会显示滚动条以查看所有活动。
套接字是该系统的最佳机制吗?关于如何实现结果的任何其他建议或教程?
非常感谢。
答案 0 :(得分:0)
在开始这条道路之前,您是否已检查过realtime part of Google Analytics?它完成了你正在寻找的大部分内容。
当有人访问您的网站时,您通常不会建立持久连接。我建议不要创建一个,而是解析服务器日志或将用户信息存储在数据库中,并查询最后x
分钟的访问者。
为了实时更新您所在的查看页面,如果您需要非常快的响应时间,Web套接字最适用于此,但目前quite the hassle to do in PHP。此外,浏览器支持不是很广泛。如果你坚持使用PHP,我建议轮询AJAX。否则,请考虑将Node.JS与Socket.IO一起使用。 Socket.IO将很多类似的方法包装到Web套接字中,以便轻松获得相同的效果。仍然使用PHP作为您的应用程序...只需使用Node.JS / Socket.IO部分作为您的监视器界面。
最后,我建议再次质疑你为什么要这样做。您可以花费大量时间在这样的项目上,事实上,随着时间的推移,您的分析数据远比查看时的快照更有价值。