import time import network time.sleep(5) #防卡死延时 class wlan_ever(object): def __init__(self,name,password): #传入宽带账号,密码 self.wlan_is_connect=0 self.name = name self.password =password def threadRun1(self): #联网,传入账号密码 print('网络线程启动') wl=network.WLAN(network.STA_IF) wl.active(True) wl.disconnect() time.sleep(0.5) wl.connect(self.name,self.password) while 1: self.wlan_is_connect=wl.isconnected() if self.wlan_is_connect : print(wl.ifconfig()) break w= wlan_ever('300king','13704677369') if w.wlan_is_connect: pass else: w.threadRun1() print('联网成功') ************************************************************** import socket #如果是PC机直接从这里开始用下面的就行 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #设定模式服务端 sock.bind(('',9889)) #绑定本机ip 和端口 sock.listen(5) # 监听启动,队列5 dat=b'' while 1: #外层循环,接收连接 print('准备接收') connection,address = sock.accept() #没接收数据会阻塞在这里 print ("Connect from:", address) #有链接 connection.settimeout(50) #超时设定5秒 ,时间根据业务逻辑任意调节 try: while 1: #内圈循环,用来持续接收数据 data=connection.recv(10240) #数据缓存池中的数据传入 print(len(data)) dat=dat+data #dat数据预先定义好二进制类型,持续接收数据 if data.find(b'#1end1#')>-1:#发现结尾标志位就进入判断 dat=dat[:-7] #去掉标志位,其余数据存储 print('end') break with open ('3333.jpg','wb') as f: f.write(dat) connection.send('ok'.encode('gbk')) #返回数据,必须是二进制 dat=b'' connection.close() #关闭连接 except : print('超时了') connection.close()客户端的写法,也是ESP32 里边的所以有联网部分
import socket import time import network time.sleep(5) #防卡死延时 class wlan_ever(object): def __init__(self,name,password): #传入宽带账号,密码 self.wlan_is_connect=0 self.name = name self.password =password def threadRun1(self): #联网,传入账号密码 print('网络线程启动') wl=network.WLAN(network.STA_IF) wl.active(True) wl.disconnect() time.sleep(0.5) wl.connect(self.name,self.password) while 1: self.wlan_is_connect=wl.isconnected() if self.wlan_is_connect : print(wl.ifconfig()) break w= wlan_ever('300king','13704677369') if w.wlan_is_connect: pass else: w.threadRun1() print('联网成功') ************************************************************ import socket #PC机使用这里开始到下面的内容 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 客户端模式 print('配置TCP') s.connect(('192.168.3.190',9889)) print('连接服务器') with open('3333.jpg','rb') as f: #获取发送的图片 data=f.read() send_data=data+b'#1end1#' #在结尾增加结束标志位 s.sendall(send_data) #发送数据,务必使用sendall recvData=s.recv(1024) #接收数据 print('接收到的数据为:', recvData) s.close()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)