我是靠谱客的博主 轻松白云,最近开发中收集的这篇文章主要介绍树莓派python网络通信_Python3使用Socket实现树莓派与计算机半双工通信,实现聊天功能...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目中需要实现PC与树莓派通信完成控制,寻找一遍后,发现现例子大多比较简单,可以实现一次收发过程,第二次数据发送就会出现问题。观察发现少一个循环,无法保持联通状态,代码修改后可以简单的实现半双工通信,实现简单聊天应答功能。

首先在命令行下ipconfig 查出设备ip。client与server端为同一ip,以server端为准。

server端代码

import socket

HOST = '192.168.0.100' # 连接本地服务器

PORT = 8001 # 设置端口号

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 选择IPv4地址以及TCP协议

sock.bind((HOST, PORT)) # 绑定端口

sock.listen(5) # 监听这个端口,可连接最多5个设备

while True:

connection, address = sock.accept() # 接受客户端的连接请求

Building_connection = connection.recv(1024) # 接收数据实例化

if Building_connection==b"request":

print("connection is ok!")

connection.send(b'welcome to server!') #服务器已经连接

while Building_connection==b"request":

a= connection.recv(1024) #循环,持续通讯接收数据

if a==b"exit":

connection.send(b"close")

break

if a!=b"request"and a:

print("接收端:")

print((a).decode())

print("服务端:")

se=input()

connection.send((se).encode("utf-8"))

print("")

break

connection.close()

print("连接关闭")

client端代码

import socket

HOST = '192.168.0.100'

PORT = 8001

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.connect((HOST, PORT))

print("try to connect distance server")

sock.send(b'request')

re_mes=sock.recv(1024).decode()

print(re_mes)

if re_mes=="welcome to server!":

while 1:

print("接收端:")

a=input()

sock.send((a).encode("utf-8"))

print("服务端:")

re_mes=sock.recv(1024).decode()

if re_mes=="close":

break

print(re_mes)

print("")

sock.close()

print("连接关闭")

最后

以上就是轻松白云为你收集整理的树莓派python网络通信_Python3使用Socket实现树莓派与计算机半双工通信,实现聊天功能...的全部内容,希望文章能够帮你解决树莓派python网络通信_Python3使用Socket实现树莓派与计算机半双工通信,实现聊天功能...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部