2012-12-17 246 views
4

关于Bart在NAT router blocking JMS messages 中遇到的问题我试图找到客户端收到openJMS消息的端口号。在Web上搜索年龄后,我只能找到有关服务器端口的信息,而客户端上没有任何信息。这是为了TCP连接。OpenJMS - 客户端端口号

如果任何人都可以指出我正确的方向,我将非常感激。

谢谢!

回答

2

通常,每个新连接的客户端端口号都不相同。 我无法找到OpenJMS客户端在与服务器通信时使用特定端口号的证据。以下是一些解释。

  1. Port Numbers

    当客户端进程第一触点的服务器过程中,它可以使用 公知端口号以启动通信。众所周知的端口 号码被分配给互联网号码分配机构IANA的 整个特定服务。公知端口号 到1023

    是范围为0众所周知的端口仅用于将 客户端和服务器进程之间建立通信。完成后,服务器 会分配一个临时端口号供以后使用。临时端口 号码是唯一的端口号,当 进程开始进行通信时,这些端口号是动态分配的。当沟通完成时,他们被释放。

  2. TCP/IP Client (Ephemeral) Ports and Client/Server Application Port Use

    相比之下,服务器响应客户端;他们不会与他们联系 。因此,客户端不需要使用保留端口号码 。实际上,这确实是一种轻描淡写:服务器不应该 使用一个众所周知的或注册的端口号将响应发送回 客户端。原因在于特定设备 可能在相同的机器上运行同一协议的客户端和服务器软件,而这些软件在 上运行。如果服务器接收到上 它的机器的端口80的HTTP请求并发送回复回端口80在客户机上, 将它发送所述回复到客户机的HTTP 服务器 处理(如果存在)而不是发送初始 请求的客户端进程。

    要知道在哪里发送答复,服务器必须知道客户端正在使用的端口号 。这是由客户端提供的请求中的源端口 ,然后由服务器用作目标端口,以 发送回复。客户端进程不使用已知或已注册的端口号 。相反,每个客户端进程都被分配一个临时端口 供其使用。这通常称为临时端口号。另一个问题

  3. 类似的答案:How to decide on port number between client and server communication on internet

    此外,客户端可以连接到多个服务器在同一端口上。当 客户端连接时,他们将在那里使用随机端口。

    只有服务器需要担心使用空闲端口,而客户端需要知道这个端口是什么,否则他们将无法连接到您的服务器。

其他可能的帮助: