国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman 疑問

huazai

設置Worker實例的進程數(shù)(count屬性),則會創(chuàng)建count個Worker進程同時監(jiān)聽相同的端口,并行的接收客戶端連接,處理連接上的事件,但是使用listen這個方法的時候,使用Worker內(nèi)部啟動多個Worker實例特性時,Worker->count一般只能為1,也就是說無法多進程使用這個特性。原因是無法做到多個進程重復監(jiān)聽同一個端口,多個進程重復監(jiān)聽同一個端口會報Address already in use錯誤。這個我怎么感覺前后有沖突啊。。開始說,可以多個進程監(jiān)聽同一個接口,后面,又不行了。。

4221 3 0
3個回答

walkor 打賞

linux的socket監(jiān)聽規(guī)則
1、如果某個端口已經(jīng)被監(jiān)聽,那么不能再創(chuàng)建socket監(jiān)聽這個端口(沒開SO_REUSEPORT)。
2、如果某個進程監(jiān)聽了某個端口,那么它fork出的子進程自動繼承了監(jiān)聽,能達到多進程同時監(jiān)聽相同端口的效果

count屬性是在主進程設置的,主進程監(jiān)聽端口后fork出count個子進程,這count個子進程繼承了主進程的socket監(jiān)聽,所以多個Worker子進程能同時監(jiān)聽相同的端口,這個符合第二個規(guī)則。

listen方法主要用于子進程再監(jiān)聽socket,如果某個子進程已經(jīng)監(jiān)聽了某個端口,那么其它進程就不能再創(chuàng)建socket監(jiān)聽這個端口,符合規(guī)則1

手冊中可能沒說明白,稍后我再重新梳理下

  • huazai 2016-01-29

    非常感謝您對我們小菜鳥的孜孜不倦的幫助。

lifesohard

run()
[attach]236[/attach]

子進程不繼承父進程的事件監(jiān)聽么,既然子進程繼承了父進程的listen()監(jiān)聽_mainSocket可讀事件,為啥子進程還要再次監(jiān)聽?

  • 暫無評論
walkor 打賞

主進程并沒有監(jiān)聽_mainSocket的讀寫事件,主進程不做業(yè)務的。_mainSocket的讀寫事件是由子進程監(jiān)聽的。

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??