3

pika と rabbitmq を使用してラップトップから別のラップトップにメッセージを送信しようとすると、このエラーが発生します。これを解決する方法はありますか?

WARNING:pika.adapters.base_connection:Could not connect due to "timeout," retrying in 2 sec
ERROR:pika.adapters.base_connection:Could not connect: timeout
Traceback (most recent call last):
  File "C:/Users/Peter/Desktop/Blimp182-development(1)/Blimp182-development/Blimp182/send.py", line 7, in <module>
    connection = pika.BlockingConnection(parameters)
  File "C:\Python27\lib\site-packages\pika\adapters\base_connection.py", line 61, in __init__
    super(BaseConnection, self).__init__(parameters, on_open_callback)
  File "C:\Python27\lib\site-packages\pika\connection.py", line 513, in __init__
    self._connect()
  File "C:\Python27\lib\site-packages\pika\connection.py", line 804, in _connect
    self._adapter_connect()
  File "C:\Python27\lib\site-packages\pika\adapters\blocking_connection.py", line 138, in _adapter_connect
    super(BlockingConnection, self)._adapter_connect()
  File "C:\Python27\lib\site-packages\pika\adapters\base_connection.py", line 120, in _adapter_connect
    self.params.retry_delay)
pika.exceptions.AMQPConnectionError: 2.0

プロセスは終了コード 1 で終了しました

使用したコードは次のとおりです。

import pika
import logging
logging.basicConfig()
credentials = pika.PlainCredentials('guest','guest')
parameters =    pika.ConnectionParameters('10.43.12.76', 55672, '/', credentials)
connection = pika.BlockingConnection(parameters=parameters)
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='',
                      routing_key='hello',
                      body='Hello World!')
print " [x] Sent 'Hello World!'"
connection.close()
4

2 に答える 2

0

1) ポート番号が正しくありません (5672 のはずです)

2) 「ゲスト」ユーザーはリモート接続用であってはなりません。使用する場合は、サーバーにいくつかの追加構成が必要です。設定については、 https ://www.rabbitmq.com/access-control.html を参照してください。

3) ポートがブロックされていないことを確認します。以下のポートを開きます。

sudo iptables -I INPUT -p tcp --dport 5672 --syn -j ACCEPT

sudo iptables -I INPUT -p tcp --dport 5673 --syn -j ACCEPT

sudo iptables -I INPUT -p tcp --dport 15672 --syn -j ACCEPT

ありがとう、サラバナン S.

于 2015-07-28T07:43:48.517 に答える
0

どのバージョンの RabbitMQ を使用しているかはわかりませんが、ポート55672は 3.0 より前のリリースで使用されていました。新しいリリース5672では が使用されます。この質問が少し前に出されたことは知っていますが、3.0 は 2012 年にリリースされました。これが、タイムアウトの問題の原因である可能性があります。

于 2015-04-06T17:32:23.677 に答える