beh3000
شنبه 17 آبان 1393, 11:58 صبح
سلام
داشتم با sqllite یک سیستم چت کامت ساده درست میکردم که یه مشکلی دارم
برنامم به این شکله : در سمت سرور کوئری Select رو داخل یک حلقه while گذاشتم که در صورتی از حلقه بیرون میاد که یا 25 ثانیه شده باشه و یا اینکه پیامی دریافت بشه از سمت کاربر دوم ... وقتی از حلقه بیرون اومد یا پیام خالی میاد سمت سرور و یا یک پیام دریافت شده و اون رو با خودش میاره ... من الان مشکلم اینه که تا وقتی از حلقه بیرون نیاد سیستم در حالت انتظار میمونه یعنی حتی درج در بانک اطلاعاتی هم انجام نمیشه !!!!
حلقه while هم اینه
ini_set('max_execution_time' , 28 );
$startTime = strtotime('now');
$maxLoopTime = 25;
$tedadrow=0;
while( ( strtotime('now') - $startTime < $maxLoopTime ) && $tedadrow==0 )
{
$ret=$dbh->query('select * from ...');
// گرفتن پیام ها از بانک اطلاعاتی
$tedadrow=count($ret);
if ($tedadrow==0)
sleep(1);
else
break;
}
وقتی هم صفحه رو رفرش میکنم بازم منتظر میمونه از حلقه خارج بشه بعد صفحه لود میشه ...!!!
داشتم با sqllite یک سیستم چت کامت ساده درست میکردم که یه مشکلی دارم
برنامم به این شکله : در سمت سرور کوئری Select رو داخل یک حلقه while گذاشتم که در صورتی از حلقه بیرون میاد که یا 25 ثانیه شده باشه و یا اینکه پیامی دریافت بشه از سمت کاربر دوم ... وقتی از حلقه بیرون اومد یا پیام خالی میاد سمت سرور و یا یک پیام دریافت شده و اون رو با خودش میاره ... من الان مشکلم اینه که تا وقتی از حلقه بیرون نیاد سیستم در حالت انتظار میمونه یعنی حتی درج در بانک اطلاعاتی هم انجام نمیشه !!!!
حلقه while هم اینه
ini_set('max_execution_time' , 28 );
$startTime = strtotime('now');
$maxLoopTime = 25;
$tedadrow=0;
while( ( strtotime('now') - $startTime < $maxLoopTime ) && $tedadrow==0 )
{
$ret=$dbh->query('select * from ...');
// گرفتن پیام ها از بانک اطلاعاتی
$tedadrow=count($ret);
if ($tedadrow==0)
sleep(1);
else
break;
}
وقتی هم صفحه رو رفرش میکنم بازم منتظر میمونه از حلقه خارج بشه بعد صفحه لود میشه ...!!!