这两个设备都连接到我公寓的同一WiFi网络。我在我的RPi上运行服务器代码,然后在我的Macbook上运行客户端代码(我也尝试过反向操作)。我认为我缺少了设置步骤,因为我在多个网站上找到的代码,所以我认为它应该是可以工作的。我还检查了我的Macbook是否关闭了防火墙。 服务器代码:
from socket import *
host = "127.0.0.1"
print host
port = 7777
s = socket(AF_INET, SOCK_STREAM)
print "Socket Made"
s.bind((host,port))
print "Socket Bound"
s.listen(5)
print "Listening for connections..."
q,addr = s.accept()
data = raw_input("Enter data to be sent: ")
q.send(data)
客户端代码:
from socket import *
host = "127.0.0.1"
print host
port=4446
s=socket(AF_INET, SOCK_STREAM)
print "socket made"
s.connect((host,port))
print "socket connected!!!"
msg=s.recv(1024)
print "Message from server : " + msg
我遇到了以下错误:
Traceback (most recent call last): File "TCPclient.py", line 9, in <module> s.connect((host,port)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py",
line 224, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 61] Connection refused
我的执行代码的流程是:
在 RPi 终端中输入 "python TCPserver.py"
在 Macbook 终端中输入 "python TCPclient.py"
然后我在我的 Macbook 上收到了错误信息,而 RPi 上没有出现错误。
我的问题如下:
- 127.0.0.1 是 "host" 的正确输入吗? (请注意,我也尝试过 "localhost")
- 对于客户端和服务器端代码,"host" 的输入必须相同吗?
- RPi 和 Macbook 都必须连接到同一个 WiFi 网络吗?
- 是否需要在 RPi 或我的 Macbook 上进行任何设置才能使其正常工作(请注意,我的 RPi 是全新的 B 型,并且在此之前我没有做过任何其他设置)?
- 您知道为什么我会收到此错误消息以及如何解决它吗?
非常感谢您的帮助!!
0.0.0.0
。让我知道发生了什么。此外,在Mac上运行的代码相当长,或者您没有关闭字符串? - Antonio Ragagnin