【问题标题】:OpenJMS - Client port numberOpenJMS - 客户端端口号
【发布时间】:2012-12-04 23:29:27
【问题描述】:

关于巴特在NAT router blocking JMS messages 中遇到的问题 我正在尝试查找客户端接收 openJMS 消息的端口号。在网上搜索年龄后,我只能找到有关服务器端口的信息,而在客户端上什么也没有。这是一个 tcp 连接。

如果有人能指出正确的方向,我将不胜感激。

谢谢!

【问题讨论】:

    标签: client client-server jms port openjms


    【解决方案1】:

    一般来说,每个新连接的客户端端口号都会不同。 我找不到任何证据表明 OpenJMS 客户端在与服务器通信时使用特定的端口号。这里有一些解释。

    1. Port Numbers

      当一个客户进程第一次联系一个服务器进程时,它可能会使用一个 众所周知的端口号来启动通信。知名港口 数字被分配给整个互联网的特定服务, 由互联网号码分配机构 IANA 提供。著名的港口 数字的范围是 0 到 1023。

      知名端口仅用于在 客户端和服务器进程。完成后,服务器 分配一个临时端口号以供后续使用。临时端口 数字是唯一的端口号,当 进程开始通信。它们在通信完成时被释放 完成。

    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:

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

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

    其他可能的帮助:

    【讨论】:

      猜你喜欢
      • 2011-01-19
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多