1.服務器有65535個端口,也就是記錄服務器端口的變量,是兩個字節,是一個short int。其兩個字節的存儲空間,決定了其只能開65535的端口。
2.那端口是干什么用的呢?端口就是用來監聽tcp連接的。也就是客戶端http連接用ip地址+服務器端端口號來進行通訊的。
3.那客戶端進來http連接請求了,服務器端誰來監聽端口呢?就是應用程序啊,類似於Tomcat等軟件。
4.應用程序的serverSocket的有Bind()方法,綁定服務器的指定端口。然后serversocket用accept()方法,接受來自客戶端的請求。
這就是客戶端發送(服務器IP地址+服務器端口號)---->服務器端程序調用代碼serverSocket.accept()監聽服務器的端口。從而客戶端與服務器端應用程序建立了連接。
5.端口號與tcp連接數量一點關系沒有!!!具體的TCP連接數量,完全由serverSocket.accept()來建立連接。
serverSocket.accept()每次建立連接的時候,綁定的端口號指的是客戶端的端口號,以便將數據返回給客戶端的應用程序。
6.一台Tomcat的能容納的TCP連接數量,完全由服務器性能相關,可以是幾萬個。不是500個,500個指的是TOmcat最多建立500個線程,傳統的bio通信用線程。
7.如今的TOmcat通信能容納幾萬條並發。
