2013-10-12 31 views
0

聊天应用我试图创建一个使用Ajax和JavaScript在PHP聊天应用程序。当我尝试在同一个浏览器窗口中发布消息时,消息会被正确发布和显示。但是,当我打开另一个窗口,并试图将消息发送到第一窗口的用户,它这样做,但当下次我从窗口1发布的消息,它的员额如果从窗口2用户发布。我使用会话记录用户名,我相信每次加载窗口时,用户的会话变量中的值都会发生变化,并会影响应用程序在所有窗口中的行为。即在窗口1中作为会话变量存储的用户名在窗口2中被用户名覆盖,因为两者都访问同一段代码。每次AJAX都会尝试从数据库中获取新消息,并在加载新窗口时获取不同的用户。 我想知道这是否可以通过多线程解决,或者如果有任何其他方式来解决这个问题。聊天应用程序是否总是需要多线程?这让我很困惑。请帮忙。多线程在PHP

+0

注意,同一浏览器的两个窗口通常共享饼干,因此sesions。使用两个不同的浏览器或两台不同的计算机来测试它。在php聊天应用程序中不需要多线程,afaik php甚至没有多线程支持。 – enrey

+0

谢谢......现在它的工作.. –

+0

在这种情况下,轮询发生。当用户增加轮询时不能提供性能。 –

回答

1

如果你想模仿谁应该谁是互相聊天,你可以打开两个不同的浏览器(例如Internet Explorer和Firefox),并在每个浏览器的一个用户登录不同的会话两个不同的用户。然后会话不共享。

据我所知在同一个浏览器份额的会议不同的浏览器窗口,以便以后的登录将覆盖先登录。

+0

谢谢......现在我明白了。 –