socket传输图片未能传输完全,代码如何修改?
-
socket传输的图片效果
openmv客户端
import sensor, image, time, network, usocket, sys # Reset sensor sensor.reset() # Set sensor settings sensor.set_contrast(1) sensor.set_brightness(1) sensor.set_saturation(1) sensor.set_gainceiling(16) sensor.set_framesize(sensor.QVGA) sensor.set_pixformat(sensor.RGB565) sensor.set_auto_gain(True) sensor.set_auto_whitebal(True) SSID='*******' KEY='*******' wlan = network.WINC() wlan.connect(SSID, key=KEY, security=wlan.WPA_PSK) print(wlan.ifconfig()) addr=("******",20000) # connect to serve client = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) client.connect(addr) client.settimeout(0) frame = sensor.snapshot() cframe = frame.compressed(quality=35) client.send(str(cframe.size())) client.send(cframe) client.close()
服务器端
import base64 import threading from socket import * import time print("Waiting for connection...") phserv = socket(AF_INET,SOCK_STREAM) phserv.bind(('******', 20000)) phserv.listen(5) car, addr = phserv.accept() print("Connected to") print(addr) a=car.recv(4) size=int(a.decode()) time.sleep(1) fl=open('nw2.jpg','wb') while size>0: data = car.recv(1024) fl.write(data) size=size-len(data) time.sleep(0.02) fl.close() car.close()