所以当我遇到一个奇怪的问题时,我开始倾向于使用套接字。当 Pi 运行我的服务器脚本和我的 Windows 运行我的客户端脚本时,我可以在我的 Window 计算机和我的 Raspberry pi 之间建立连接,但是当我尝试在我的 Windows 上运行服务器脚本和我的 Pi 上的客户端时,它们无法连接(当然是在切换主机之后)。任何人都知道为什么会这样?
#server code
import socket
import time
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
host = '192.168.0.23'
port = 2613
serversocket.bind((host, port))
serversocket.listen(5)
while True:
clientsocket, addr = serversocket.accept()
print("Got a connection from %s" % str(addr))
currentTime = time.ctime(time.time()) + "\r\n"
clientsocket.send(currentTime.encode('ascii'))
clientsocket.close()
和
#client code
import socket
clientsocket = socket.socket()
host = '192.168.0.23'
port = 2613
clientserver.connect((host,port))
print s.recv(1024)
clientserver.close
在您的客户端代码中,您有一个 clientsocket,然后您调用 clientserver 然后调用 s。clientserver 和 s 都未定义。尝试:
#client code
import socket
clientsocket = socket.socket()
host = '192.168.0.23'
port = 2613
clientsocket.connect((host,port))
print (clientsocket.recv(1024))
clientsocket.close
还可以尝试使用管理员权限在 Windows 上运行服务器脚本,以便它可以打开端口并检查 Windows 上的防火墙设置是否为端口 2613。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句