2012-11-01 48 views

回答

1

同時打開的TCP連接的參考,我看到兩種可能性:

1)雙方都在同一時間打電話connect()。由於這需要提前知道兩個IP /端口對,因此雙方在撥打connect()之前必須將bind()指定給特定的IP /端口對,然後相互交換該信息(如果不是硬編碼的話)。

2)一方打電話listen(),然後sendto()與監聽插座,而另一方在撥打bind()後同時呼叫connect()

這兩種情況在套接字編程中都不常見。你永遠不會有兩個客戶端互相通訊,而且你很少會在監聽套接字上發送數據,所以你需要等待accept()先返回一個已建立的端點,然後用它發送數據。