我有幾個基本問題:插座,其屬性和SO_REUSEADDR選項
1.A插座通過協議,本地IP,本地端口,遠程IP和遠程端口表示。假設客戶端和服務器之間存在這種連接。現在,當我綁定另一個客戶端到相同的本地端口和IP,它已綁定(我使用SO_REUSEADDR),但連接操作由第二個客戶端到相同的遠程IP和端口失敗。所以,是沒有辦法第三個進程可以共享相同的套接字?
2.當我們在綁定到本地端口和ip的套接字上調用listen()時,它會監聽連接。當客戶端連接時,它會創建一個套接字(比如說A)。它完成3次握手,然後啓動一個不同的套接字(比如說B)並刪除套接字A(Source)。新客戶端由新套接字B處理。因此,什麼樣的套接字代表了一個監聽socket即什麼是遠程IP和端口,是套接字A不同於該套接字或只是遠程IP和端口添加到偵聽套接字形式A?
3.I讀取SO_REUSEADDR在端口上建立一個監聽套接字,如果沒有套接字監聽端口和IP和端口和IP,在所有插座上都SO_REUSEADDR選項設置。但後來我也遇到一個文本說,如果一個客戶端綁定到一個端口和IP,另一個客戶端無法綁定到它(即使使用SO_REUSEADDR),除非第一個客戶端成功調用connect()。有沒有監聽套接字(它是一個客戶端,所以我們沒有電話連接())在該端口和ip 在這個例子。那麼,爲什麼不允許另一個客戶端?
在此先感謝。