我用长轮询创建了实时聊天。它的工作原理如下:
首先,用户向服务器发送请求。服务器获取请求并等待新消息。
如果收到新消息,它会向用户的浏览器发送消息(如果请求已关闭,则浏览器将重新发送消息)。如果服务器等待超过3分钟,请求将被取消,并且将发送新请求。
在服务器上,我使用PHP。在PHP中,我只检查每600毫秒后的消息计数。如果它大于先前的计数,服务器将获得新消息并将其作为响应发送到浏览器。
问题是我得到max_user_connection
错误,即使我在数据库中的每次SQL检查后都关闭了mysqli连接。
如果我不关闭mysqli,则会更频繁地发生错误。
我如何解决这个问题? (现在我的主人是Hostgator,计划是共享的)
答案 0 :(得分:0)
登录mysql服务器并运行此命令,找出已设置的最大连接数?
mysql>show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 100 |
+-----------------+-------+
如果它小于您此时请求的连接数,则更新连接数。
mysql>set global max_connections = 200;
这应该可以解决您的问题。请记住,max_connections是动态的,您不必停止或重启mysql服务器。您可以直接更新连接数。