$task = new Worker();
// 進(jìn)程啟動(dòng)時(shí)異步建立一個(gè)到www.baidu.com連接對(duì)象,并發(fā)送數(shù)據(jù)獲取數(shù)據(jù)
$task->onWorkerStart = function($task)
{
$con1 = new AsyncTcpConnection('tcp://www.baidu.com:443');
$con2 = new AsyncTcpConnection('tcp://www.baidu.com:443');
}
我想動(dòng)態(tài)創(chuàng)建異步連接。這種方式行嗎?我自己試過了感覺不行
異步http用 workerman/http-client,參考手冊(cè) http://doc.workerman.net/components/workerman-http-client.html
謝謝大佬的回復(fù)。我的需求主要是ws請(qǐng)求,所以代碼里貼的是http。我的需求場景是有N多個(gè)ws需要連接,由于ws服務(wù)提供方,是一個(gè)連接一個(gè)訂閱。采用多進(jìn)程的方式~我的連接多少個(gè)又不確定,我又想動(dòng)態(tài)創(chuàng)建。所以一直找不到好的方法才想到了如此。 如能給我提供思路感激不盡!
我是按照這個(gè)用例http://doc.workerman.net/faq/as-wss-client.html 來做ws client端的,那么就是一個(gè)work一個(gè)連接,加上有master child就2個(gè)進(jìn)程。 如果我ws連接多,進(jìn)程太多了。所以想在一個(gè)進(jìn)程里 連接多個(gè)WS
@1:對(duì)了 我想再問問這個(gè)一個(gè)進(jìn)程異步能支持多少的連接。有沒有峰值?或者我連接多把該進(jìn)程的內(nèi)存使用調(diào)高點(diǎn)??
一個(gè)進(jìn)程維持上萬個(gè)連接,前提是安裝了event擴(kuò)展,并按照手冊(cè)優(yōu)化了linux內(nèi)核。
連接數(shù)多的話需要調(diào)高php.ini 中memory_limit,比如256M或者更多。