2013-01-19 50 views
1

我是新来的论坛,任何意见,赞赏我已经搜索了很多,阅读和阅读了很多主题,以找到最好的方式我的项目我会直接进入这一点同时向多个用户发送广播通知 - PHP/MySql/Ajax

我正在建立一个广播网站,在内部使用wamp服务器(内部网)工作。

语言使用PHP,JS,阿贾克斯,MySql的

因为我们使用的是聊天系统(火花)的那一刻,但该项目的想法是保持广播记录,它更容易追踪

请不要给我第三方应用程序/工具

我有一个简单的HTML表单,用户提交信息,请考虑此示例。

形式:标题(输入文本字段),广播消息(输入文本字段)

信息存储在DB表:

bc_id,标题,bc_msg,submitted_by,DATE_TIME

另一个表user_got_bc:user_id,bc_id,bc_sent(0默认值),一旦发送通知,值为1

我使用ajax查找“user_got_bc”表并验证哪个用户具有bc_sent = 0并发送通知他与bc info f ROM中的其他表,然后bc_sent的价值Ajax代码使用每10000毫秒执行更新到1

setinterveral

一旦用户提交广播我希望所有其他用户(复数)收到通知在同一时间(一秒或更多的一秒)

关于通知,你不必担心,我使用的是桌面通知(webkitnotification),我知道它不是跨浏览器兼容的,但它没关系,它工作正常

这就是说,一切工作正常

我的担心是Ajax代码会做服务器的连接数,如果这好还是坏,更多的用户,连接

我知道这不会是很好的轰击服务器的更多与连接的量,特别是因为它是每10秒X我在很多论坛阅读使用彗星,从我收集它不是用PHP友好的用户

的数量,再加上我从来没有实施了

所以我的问题是: - 有没有更好的方法或保持它的方式设置是好的? - 如果彗星更好,是否可以提供一个片段来为该项目工作?

感谢所有提前。

+0

如果它已经工作,为什么要麻烦?你有真正的性能问题吗?而且,由于呼叫是从客户端触发的,所以它们不会在同一时间进入。总而言之,除非您有真正的问题,否则我不会投入太多时间。 –

+0

感谢您的回复,它工作正常,您是对的,他们不会同时触发,并且工作完美无瑕,只是想让别人的意见 –

回答

0

请谷歌为Ajax长轮询。但是,对于这种项目我建议使用 一些实时I/O软件一样

node.jssocket.io

如果你有良好的JavaScript技能,那么你不应该在使用上面列出 应用问题。如果您的项目将有更多的用户数量,那么您将需要PUB-SUB,实时,跨浏览器插座支持。最后一个PUSH技术。上面列出的应用程序具有所有这些功能。所以试试看。

如果你仍然想坚持PHP,JS,Ajax,MySql,那么你可能需要Ajax长轮询技术。