對于TCP套接字,在服務器端通常采用下面的語句來實現:
????ServerSocket welcomeSocket = new ServerSocket(6789);??(1)
????Socket connectionSocket?= welcomeSocket.accept();?????(2)
第(1)句創建了一個能監聽某些客戶機“敲門”聲的門,welcomeSocket在6789端口上監聽;當某些客戶機與welcomeSocket連接時,第(2)句創建了一個新的套接字,稱為connectionSocket,這個套接字也使用6789端口,這時,兩個套接字使用了相同的端口號,因為TCP連接套接字由一個四元組(源IP地址,源端口號,目的IP地址,目的端口號)來標識,UDP套接字(面向無連接的)由一個包含目的IP地址和目的端口號組成的二元組來標識。之后,TCP在客戶端的clientSocket和服務器端的connectionSocket之間建立了一條直接的虛禮管道,該客戶機與服務器可以通過該管道彼此發送字節,并且發送的所有字節將按順序到達對方。隨著connectionSocket的建立,該服務器能繼續使用welcomeSocket監聽其它客戶機的連接請求。
?