1. 程式人生 > >SO_REUSEADDR和SO_REUSEPORT

SO_REUSEADDR和SO_REUSEPORT

8.0 mil 負載均衡 uri spa sea 同時 family acc

1.SO_REUSEADDR


  [1]當一個端口已經綁定了一個全0的ip地址時,使用此選項可以綁定到另外一個ip地址。即socket1是0.0.0.0:1000,socket2是192.168.0.1:1000時需要設置此選項。(socket1是10.10.10.10:1000,socket2是192.168.0.1:1000時不設置也可以綁定成功)

  [2]可以繼續綁定處於TIME_WAIT狀態的地址(ip加port)。

  需要註意的是舊的和新的socket需要同時設置此選項才可以。

2.SO_REUSEPORT


  SO_REUSEPORT支持多個進程或者線程綁定到同一端口,提高服務器程序的性能。並且通過均分數據包,在內核層面實現負載均衡,即把UDP數據包和TCP新連接請求(使用accept()得到新請求)分給不同的socket。

SO_REUSEADDR和SO_REUSEPORT