树莓派与PC端在局域网内运用python实现即时通讯
电脑和树莓派在同一局域网内,先在电脑和树莓派创建python运行环境,然后在树莓派中用python运行rpi.py;在电脑上运行computer.py;电脑上输入字符即可在树莓派上即时显示!
rpi.py
#coding:utf-8
#importnecessarypackage
importsocket
importtime
importsys
HOST_IP="192.168.31.151"#树莓派的IP地址
HOST_PORT=8888
print("Startingsocket:TCP...")
#1.createsocketobject:socket=socket.socket(family,type)
socket_tcp=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print("TCPserverlisten@%s:%d!"%(HOST_IP,HOST_PORT))
host_addr=(HOST_IP,HOST_PORT)
#2.bindsockettoaddr:socket.bind(address)
socket_tcp.bind(host_addr)
#3.listenconnectionrequest:socket.listen(backlog)
socket_tcp.listen(1)
#4.waiteforclient:connection,address=socket.accept()
socket_con,(client_ip,client_port)=socket_tcp.accept()
print("Connectionacceptedfrom%s."%client_ip)
socket_con.send("WelcometoRPiTCPserver!")
print("Receivingpackage...")
###主循环
whileTrue:
try:
data=socket_con.recv(512)
iflen(data)>0:
print("Received:%s"%data)
socket_con.send(data)
time.sleep(1)
continue
exceptException:
socket_tcp.close()
sys.exit(1)
computer.py
importsocket
importtime
importsys
SERVER_IP="192.168.31.151"#树莓派的IP地址
SERVER_PORT=8888
print("Startingsocket:TCP...")
server_addr=(SERVER_IP,SERVER_PORT)
socket_tcp=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
whileTrue:
try:
print("Connectingtoserver@%s:%d..."%(SERVER_IP,SERVER_PORT))
socket_tcp.connect(server_addr)
break
exceptException:
print("Can'tconnecttoserver,tryitlatter!")
time.sleep(1)
continue
print("Pleaseinput:")
whileTrue:
try:
data=socket_tcp.recv(512)
iflen(data)>0:
print("Received:%s"%data)
command=raw_input()
socket_tcp.send(command)
time.sleep(1)
continue
exceptException:
socket_tcp.close()
socket_tcp=None
sys.exit(1)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。