關於Bart在NAT router blocking JMS messages 中遇到的問題我試圖找到客戶端收到openJMS消息的端口號。在Web上搜索年齡後,我只能找到有關服務器端口的信息,而客戶端上沒有任何信息。這是爲了TCP連接。OpenJMS - 客戶端端口號
如果任何人都可以指出我正確的方向,我將非常感激。
謝謝!
關於Bart在NAT router blocking JMS messages 中遇到的問題我試圖找到客戶端收到openJMS消息的端口號。在Web上搜索年齡後,我只能找到有關服務器端口的信息,而客戶端上沒有任何信息。這是爲了TCP連接。OpenJMS - 客戶端端口號
如果任何人都可以指出我正確的方向,我將非常感激。
謝謝!
通常,每個新連接的客戶端端口號都不相同。 我無法找到OpenJMS客戶端在與服務器通信時使用特定端口號的證據。以下是一些解釋。
當客戶端進程第一觸點的服務器過程中,它可以使用 公知端口號以啓動通信。衆所周知的端口 號碼被分配給互聯網號碼分配機構IANA的 整個特定服務。公知端口號 到1023
是範圍爲0衆所周知的端口僅用於將 客戶端和服務器進程之間建立通信。完成後,服務器 會分配一個臨時端口號供以後使用。臨時端口 號碼是唯一的端口號,當 進程開始進行通信時,這些端口號是動態分配的。當溝通完成時,他們被釋放。
TCP/IP Client (Ephemeral) Ports and Client/Server Application Port Use
相比之下,服務器響應客戶端;他們不會與他們聯繫 。因此,客戶端不需要使用保留端口號碼 。實際上,這確實是一種輕描淡寫:服務器不應該 使用一個衆所周知的或註冊的端口號將響應發送回 客戶端。原因在於特定設備 可能在相同的機器上運行同一協議的客戶端和服務器軟件,而這些軟件在 上運行。如果服務器接收到上 它的機器的端口80的HTTP請求併發送回復回端口80在客戶機上, 將它發送所述回覆到客戶機的HTTP 服務器 處理(如果存在)而不是發送初始 請求的客戶端進程。
要知道在哪裏發送答覆,服務器必須知道客戶端正在使用的端口號 。這是由客戶端提供的請求中的源端口 ,然後由服務器用作目標端口,以 發送回覆。客戶端進程不使用已知或已註冊的端口號 。相反,每個客戶端進程都被分配一個臨時端口 供其使用。這通常稱爲臨時端口號。另一個問題
類似的答案:How to decide on port number between client and server communication on internet:
此外,客戶端可以連接到多個服務器在同一端口上。當 客戶端連接時,他們將在那裏使用隨機端口。
只有服務器需要擔心使用空閒端口,而客戶端需要知道這個端口是什麼,否則他們將無法連接到您的服務器。
其他可能的幫助: