1.服务端(即pc)
import socket
import time
HOST = '#.#.#.#' #连接本地服务器,可通过ipconfig/all看IPV4的地址
PORT = 8001 #设置端口号,自己设置即可
# socket.AF_INET用于服务器与服务器之间的网络通信
# socket.SOCK_STREAM代表基于TCP的流式socket通信
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((HOST, PORT)) #绑定端口
sock.listen(5) #监听这个端口,可连接最多5个设备
while True:
connection,address = sock.accept() #接收客户端的连接请求
try:
connection.settimeout(10) #设置10s时限
buf = connection.recv(1024)#接收数据实例化
if buf: #接收成功
connection.send(b'welcome to server!') #发送消息,b表示bytes类型
print('Connection success!')
else: #接收失败
connection.send(b'Please go out!')
except socket.timeout: #超时
print('time out!')
connection.close() #关闭连接
2.客户端(即树莓派端)
import socket import time HOST = '#.#.#.#' #指服务端IP地址 PORT = 8001 #端口号 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST,PORT)) #注意,在客户端是连接connect,而在服务端是bind time.sleep(2) sock.send(b'1') #发送信息 print(sock.recv(1024).decode()) #打印接收消息,并且译码 sock.close() #关闭连接
来源:https://www.cnblogs.com/jynote/p/12457853.html