2017-08-04 22 views
0

2台のPCがプロデューサで、1台がコンシューマである3台のPCがあります。 Pythonを使用して、どうやって互いに通信できるようにしますか?私はlocalhostでも同じことができます。私はRabbitMQウェブサイトのチュートリアルに従いました。彼らは、私がしなければならないことは、localhostではなくIPアドレスを追加することだと言いましたが、それはうまくいきません。ここで助けてください。RabbitMQを使用して1台のPCから別のPCにメッセージを送信

編集:

私はナキウサギを使用して、ユーザー名とパスワードを検証するために自分のコードに以下の変更を行いました。それでも私は、エラー

にreceive.pyためのコードを取得しています次のとおりです。

import pika 

credentials = pika.PlainCredentials('sneha', 'sneha') 
connection = pika.BlockingConnection(pika.ConnectionParameters('[email protected]', 5672, '/', credentials)) 
channel = connection.channel() 

channel.queue_declare(queue='hello') 

def callback(ch, method, properties, body): 
    print(" [x] Received %r" % body) 

channel.basic_consume(callback, 
         queue='hello', 
         no_ack=True) 

print(' [*] Waiting for messages. To exit press CTRL+C') 
channel.start_consuming() 

私は次のエラーを取得:

Traceback (most recent call last): 
    File "receive.py", line 4, in <module> 
    connection = pika.BlockingConnection(pika.ConnectionParameters('[email protected]', 5672, '/', credentials)) 
    File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 339, in __init__ 
    self._process_io_for_connection_setup() 
    File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 374, in _process_io_for_connection_setup 
    self._open_error_result.is_ready) 
    File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 395, in _flush_output 
    raise exceptions.ConnectionClosed() 
pika.exceptions.ConnectionClosed 
+0

実行しているコードを追加してください。また、端末に表示されるエラーについても言及してください。 –

+0

まだ試したことはありますか? –

答えて

0

チュートリアルはguest RabbitMQのユーザーアカウントを使用新規インストール時に自動的に作成され、すべての権限を持ちます。ただし、this account is restricted to connections from localhost onlyは、無制限のアクセス許可のため、デフォルトのインストールでセキュリティ上の懸念があります。このアカウントは、RabbitMQでの演奏には適していますが、プロダクションでは使用できません。

したがって、リモートコンピュータのRabbitMQではguestアカウントとの接続を拒否し、ProbableAuthenticationErrorエラーが発生します。

は今、次の2つのソリューションを持っている:

  1. 推奨1は、別のユーザーを作成してそれを与える適切な権限をし、あなたのアプリケーションのためにそれを使用することです。これは、Access Control documentationに記載されています。

  2. guestアカウントの「ローカルホストのみ」保護を無効にします。これを行うには、次のRabbitMQの構成を使用する必要があります。

    [ 
        {rabbit, [ 
         {loopback_users, []} 
        ]} 
    ]. 
    

    をお読みくださいdocumentation of loopback_users(あなたがこのページでloopback_usersを検索する必要があります)。

+0

こんにちは、ユーザーを作成した後、コードに変更がありますか?またはコードは上記と同じままですか? –

+0

これを変更して、ユーザー名とパスワードを指定する必要があります。私はピカを知らないので、これを行う方法についてはピカの文書を参照してください。 –

関連する問題