把你的问题说明白点,不要这样含糊
首先要确定自己的jms server bind 的IP地址。
然后确认client端连接的host ip 是否就是你的jms server 的ip,很简单

解决方案 »

  1.   

    to csrcom:
    是不是写成中文就不认识了。
    服务器端有固定ip地址。
    客户端用于接收设置的ip地址、队列名称与服务器端一致。
      

  2.   

    服务端在公网上,你的程序客户端呢?他们之间会不会有dns解析问题?
      

  3.   

    下面是在服务器察看端口列表的显示结果:
     TCP    219.239.210.215:3035   221.221.151.156:31966  ESTABLISHED
     TCP    219.239.210.215:3389   221.221.151.156:31682  ESTABLISHED应该是已经连接上了,而且队列名称也是一致的。却无法接受队列中的消息。to c366oe:
    客户端是公司内网的服务器。我觉得一般能上网的机子,能连接上服务器就可以,客户端的地址是不需要的。
    dns应该不会有问题。首先,我并没有使用域名连接,jms服务器是直接设置的ip地址,客户端也是直接连接的ip地址。而且,服务器端和客户端使用的dns也是一样的。很见鬼的问题,高手帮帮忙啊。
      

  4.   

    我的MSN:[email protected]
    Email:[email protected]希望各位不吝赐教。谢谢!
      

  5.   

    要检查各个环境是否正常:
     1、外网是否可以访问你的jms Server(telnet jms server的端口)。
     2、client端访问网络是否正常。
     3、有没有其他与jms server同一个局域网也在接收这个队列的消息
      

  6.   

    已发现问题所在:
    客户端--通过路由器连接至--服务器(成功连接),然后根据tcp协议,服务器确认连接至路由器后,无法通过路由器连接至客户端。握手失败。
    而导致,显示服务器与"客户端"成功连接,而无法接受数据。如果,在客户端的路由器上进行映射应该是可以的。这样的话就有一个新的问题,客户端连接服务器时,使用的端口是随机的。不能像固定的端口那样进行映射,这个有什么解决方法吗?谢谢各位!
    谢谢csrcom!
      

  7.   

    当然可以解决这个端口随机问题了。
    sun 的message queue可以设定静态的端口
    通过控制台可以直接进行设置。
    设置完以后这个参数就会持久化下来了,以后启动也不会改变了。你最好要对这个产品的参数配置熟练掌握。
      

  8.   

    我又错了。
    设置了端口映射,结果还是没有接收到任何消息。但是,2台在公网上拥有自己ip的计算机,一个作为server,一个作为client,就可以正常运行,接受消息。
    在局域网内也是可以的。可是为什么偏偏对在内网客户端就不能接受消息呢。csrcom:
    你说的静态端口是设置哪一端的?我使用openjms怎么没有找到可以设置端口的地方?
    请教一下,谢谢!
      

  9.   

    openjms 我没有使用过,应该可以设置静态监听端口的。
    设置jms server 的端口。
      

  10.   

    2台在公网上拥有自己ip的计算机,一个作为server,一个作为client,可以正常运行,接受消息。
    在局域网内也是可以的。公网上地计算机作为服务器,一个局域网内的计算机作为客户端。就无法接收数据。这是什么原因?
    有高手知道吗?
      

  11.   

    jms service端口设置成静态的端口。你的问题已经不是jms 的问题了,是你的网络设置问题
      

  12.   

    再回到jms上来。就是在这么个网络问题下。我直接调用receive()接收server的消息,可以接收到消息。但是在client使用Listener监听就收不到任何消息。何解?