$socket = new AsyncTcpConnection($tcp);
$socket->onConnect = function($socket) use($db)
{
//在這里循環(huán)發(fā)送消息,發(fā)現(xiàn)全部循環(huán)完畢后,才接收到返回結(jié)果,在循環(huán)過(guò)程中,全部是阻塞的嗎?
for($i = 0; $i < 1000; $i++)
{
$request = send_datas1($db);
//print_r($request);
$socket->send($request);
}
};
//服務(wù)器響應(yīng),接收返回結(jié)果
$socket->onMessage = function($socket, $result) use($db)
{
try
{
print_r($result);
$db->update($table)->cols($result)->where()->query();
}
catch(\Exception $e)
{
print_r($e->getMessage());
}
};
$socket->onClose = function($socket) {
// 如果連接斷開(kāi),則在1秒后重連
$socket->reConnect(1);
};
$socket->onError = function($socket, $err_code, $err_msg)
{
};
// 執(zhí)行異步鏈接
$socket->connect();
如果做到實(shí)時(shí)接時(shí),改成這樣嗎?
for($i = 0; $i < 1000; $i++)
{
$socket = new AsyncTcpConnection($tcp);
$socket->onConnect = function($socket) use($db)
{
$request = send_datas1($db, $i);
$socket->send($request);
};
$socket->onMessage = function($socket, $result) use($db)
{
print_r($result);
};
// 執(zhí)行異步鏈接
$socket->connect();
}
這樣會(huì)不會(huì)建立1000個(gè)鏈接,導(dǎo)致性能下降?