Python之Socket实现PC与树莓派互动通信
应用场景:局域网内,PC端与树莓派通信,收发文件互动等。
我这里做的是PC端发送信息,树莓派接收信息,完成互动,可继续扩展。可实现PC端控制无人机,其余自行扩展。
PC端
import socket
print(“客户端开启”)
#套接字接口
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#设置ip和端口
host = ‘192.168.0.6’
port = 2222
try:
mySocket.connect((host, port)) ##连接到服务器
print(“连接到服务器”)
except : ##连接不成功,运行最初的ip
print (‘连接不成功’)
while True:
#发送消息
msg = input(“客户端发送:”)
#编码发送
mySocket.send(msg.encode(“utf-8”))
print(“发送完成”)
if msg == “hello”:
print(“你好”)
if msg == “qq”:
mySocket.close()
print(“程序结束\n”)
exit()
print(“程序结束\n”)
树莓派端
# encoding: utf-8
import socket
import time
print(“服务端开启”)
#套接字接口
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#设置IP和端口
host = ‘192.168.0.6’
port = 2222
#bind绑定该端口
mySocket.bind((host, port))
mySocket.listen(10)
while True:
#接收客户端连接
print(“等待连接….”)
client, address = mySocket.accept()
print(“新连接”)
print(“IP is %s” % address[0])
print(“port is %d\n” % address[1])
while True:
#读取消息
msg = client.recv(1024)
#把接收到的数据进行解码
print(msg.decode(“utf-8”))
print(“读取完成”)
if msg == b“hello”:
print(“你好,老弟”)
if msg == b“qq”:
client.close()
mySocket.close()
print(“程序结束\n”)
exit()
效果如下:
首先开启树莓派
开启PC端
此时树莓派建立连接反馈
PC端发送消息
树莓派接收消息
PC端输入qq退出程序
树莓派同时退出程序
整体效果如下:
评论(0)
您还未登录,请登录后发表或查看评论