使用python连接raspberry pi和windows PC的socket编程

时间:2015-04-22 06:14:57

标签: python networking raspberry-pi

我想在raspberry pi和windows PC之间发送和接收数据。如果我将服务器和客户端程序放在raspberry pi上,那么它工作正常。但是当客户端从Windows PC运行时,它会显示错误'无法建立连接,因为目标计算机主动拒绝它'。我只是通过LAN电缆连接pc和pi。我的电脑的防火墙已被禁用。

server.py

import socket
s=socket.socket()
host=socket.gethostname()
port=12345
s.bind((host, port))
s.listen(5)
while True:
    c, addr = s.accept()
    print 'got connection from',addr
    c.send('Thank you for connecting')
    c.close()

client.py

import socket               

s = socket.socket()        
host = '192.168.0.3'# ip of raspberry pi 
port = 12345               
s.connect((host, port))
print s.recv(1024)
s.close()               

1 个答案:

答案 0 :(得分:0)

如果它适用于环回接口(Raspberry Pi上的两个脚本),这意味着您的代码是正确的。

为什么它不通过网络工作并不是真正的编程相关。要检查的一些事项:

  • 正如Akash Nil所说,检查您是否使用交叉电缆。连接电缆时,LAN端口上的小LED是否亮起?
  • ping是否有效?
  • RPi也没有激活任何防火墙,对吧?
  • 如果您使用的是Windows,请将服务器放在RPi上,或者100%确定您已在防火墙中列入白名单的Python(或停用它)。
  • 如果您使用netcat作为客户端或服务器吗?