Raspberry Pi 和 Mac 之间的连接失败
Connection failing between Raspberry Pi and Mac
我有以下
a) 安装在 Mac Yosrmite 机器上的 rabbitmq-server 和 Pika。
我有一个 rabbutmq.config /usr/local/etc/rabbitmq/rabbitmq.config 我有这样的声明:
{loopback_users, []}
b) 在 raspberry pi 上我安装了 pika。我还安装了rabbtmq-server。
send.py 和 receive.py,使用 pika,在两台机器上本地工作。
从 Mac 发送到 RPi 有效;但是,从 RPi 发送到 Mac 失败如下:
回溯(最后一次调用):
文件 "send.py",第 5 行,位于
'192.168.1.4'))
文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py”,第 339 行,在 init 中
self._process_io_for_connection_setup()
文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py”,第 374 行,在 _process_io_for_connection_setup 中
self._open_error_result.is_ready)
文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py”,第 395 行,在 _flush_output 中
提高 exceptions.ConnectionClosed()
鼠兔.exceptions.ConnectionClosed
========================================
Mac 我的防火墙没有启用。
服务器日志中没有记录错误。
send.py代码是:
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
'192.168.1.4'))
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()
===========================
我在两台机器的端口上都得到了 activity:
sudo tcpdump 端口 5672
在树莓派上
15:09:05.394815 IP raspberrypi.home.40483 > ArnoldBileysMBP.home.amqp: Flags [S], seq 1428528534, win 29200, options [mss 1460,sackOK,TS val 1626318 ecr 0,nop,wscale 6 ], 长度为 0
15:09:05.460755 IP ArnoldBileysMBP.home.amqp > raspberrypi.home.40483:标志 [R.],seq 0,ack 1428528535,win 0,长度 0
在 Mac
11:09:05.547322 IP raspberrypi.home.40483 > arnoldbileysmbp.home.amqp: Flags [S], seq 1428528534, win 29200, options [mss 1460,sackOK,TS val 1626318 ecr 0,nop,wscale 6 ], 长度为 0
11:09:05.547362 IP arnoldbileysmbp.home.amqp > raspberrypi.home.40483:标记 [R.],seq 0,ack 1428528535,win 0,长度 0
如有任何帮助,我们将不胜感激。
我在 Open port 5672/tcp for access to RabbitMQ on Mac 找到了修复
我删除了“NODE_IP_ADDRESS=127.0.0.1
" /usr/local/etc/rabbitmq/rabbitmq-env.conf 文件中的语句。这是我对访问所做的上述修复的补充。
我有以下
a) 安装在 Mac Yosrmite 机器上的 rabbitmq-server 和 Pika。 我有一个 rabbutmq.config /usr/local/etc/rabbitmq/rabbitmq.config 我有这样的声明: {loopback_users, []}
b) 在 raspberry pi 上我安装了 pika。我还安装了rabbtmq-server。
send.py 和 receive.py,使用 pika,在两台机器上本地工作。
从 Mac 发送到 RPi 有效;但是,从 RPi 发送到 Mac 失败如下:
回溯(最后一次调用): 文件 "send.py",第 5 行,位于 '192.168.1.4')) 文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py”,第 339 行,在 init 中 self._process_io_for_connection_setup() 文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py”,第 374 行,在 _process_io_for_connection_setup 中 self._open_error_result.is_ready) 文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py”,第 395 行,在 _flush_output 中 提高 exceptions.ConnectionClosed() 鼠兔.exceptions.ConnectionClosed
======================================== Mac 我的防火墙没有启用。 服务器日志中没有记录错误。
send.py代码是:
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
'192.168.1.4'))
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()
=========================== 我在两台机器的端口上都得到了 activity: sudo tcpdump 端口 5672
在树莓派上 15:09:05.394815 IP raspberrypi.home.40483 > ArnoldBileysMBP.home.amqp: Flags [S], seq 1428528534, win 29200, options [mss 1460,sackOK,TS val 1626318 ecr 0,nop,wscale 6 ], 长度为 0 15:09:05.460755 IP ArnoldBileysMBP.home.amqp > raspberrypi.home.40483:标志 [R.],seq 0,ack 1428528535,win 0,长度 0
在 Mac 11:09:05.547322 IP raspberrypi.home.40483 > arnoldbileysmbp.home.amqp: Flags [S], seq 1428528534, win 29200, options [mss 1460,sackOK,TS val 1626318 ecr 0,nop,wscale 6 ], 长度为 0 11:09:05.547362 IP arnoldbileysmbp.home.amqp > raspberrypi.home.40483:标记 [R.],seq 0,ack 1428528535,win 0,长度 0
如有任何帮助,我们将不胜感激。
我在 Open port 5672/tcp for access to RabbitMQ on Mac 找到了修复 我删除了“NODE_IP_ADDRESS=127.0.0.1 " /usr/local/etc/rabbitmq/rabbitmq-env.conf 文件中的语句。这是我对访问所做的上述修复的补充。