我一直在与树莓派合作开发一个项目。我正在尝试使用套接字在笔记本电脑和树莓派之间进行通信。
我正在尝试YouTube教程,并不断收到此错误
回溯(最近通话最近): 文件“”,第1行,位于 接收(1024) AttributeError:“ socket”对象没有属性“ recive”
无法运行脚本后,我尝试在python shell上逐行键入代码
导入套接字 socket.recv(1024)
但仍然出现相同的错误
谁能解释出什么问题了?
答案 0 :(得分:0)
请先阅读api和示例?
正确的语法是buffer = socket.recv(1024)
如socket — Low-level networking interface
但是似乎您还缺少其他基本流程,例如必须先创建连接的事实。
花一些时间先阅读正确使用套接字的示例,然后开始编码。 一个不错的开始是TutorialsPoint - Python 3 - Network Programming
答案 1 :(得分:0)
在tutorialspoint.com的帮助下解决了问题
简单服务器
#!/usr/bin/python3 # This is server.py file
import socket
# create a socket object
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
# get local machine name
host = socket.gethostname()
port = 9999
# bind to the port
serversocket.bind((host, port))
# queue up to 5 requests
serversocket.listen(5)
while True:
# establish a connection
clientsocket,addr = serversocket.accept()
print("Got a connection from %s" % str(addr))
msg = 'Thank you for connecting'+ "\r\n"
clientsocket.send(msg.encode('ascii'))
clientsocket.close()
简单客户端
# create a socket object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# get local machine name
host = socket.gethostname()
port = 9999
# connection to hostname on the port.
s.connect((host, port))
# Receive no more than 1024 bytes
msg = s.recv(1024)
s.close()
print (msg.decode('ascii'))