Android python3.4套接字服务器接收映像

Android python3.4套接字服务器接收映像,android,image,sockets,python-3.4,Android,Image,Sockets,Python 3.4,我正在尝试使用Python 3.4中的socket从Android接收图像到PC。我的服务器代码如下: import socket import struct import sys address = ("10.0.0.22", 5000) try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except (socket.error, msg): print ('Failed to create socket.Er

我正在尝试使用Python 3.4中的socket从Android接收图像到PC。我的服务器代码如下:

import socket
import struct
import sys
address = ("10.0.0.22", 5000)
try:
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except (socket.error, msg):
    print ('Failed to create socket.Error code:' + str(msg[0]) + ', Error    message: ' + msg[1])
sys.exit()
print ('Socket Created')
s.bind(address)
s.listen(5)

while True:
    (client, addr) = s.accept()
    print ('got connected from', client,addr)
    buf = b''
    while len(buf)<4:
        buf += client.recv(4-len(buf))
    size = struct.unpack('!i', buf)
    print ("receiving %s bytes" % size)

    with open('tst.jpg', 'wb') as img:
        while True:
            data = client.recv(1024)
            print (data)
            if not data:
                break
            img.write(data)
    img.close()
print ('received, yay!')
client.close()

python服务器期望前四个字节指示后面文件的长度

android代码不会发送包含字节数组长度的整数的四个字节

所以先发送这样一个整数的四个字节

 int size = bytes.length;

您也可以先发送四个值为0的字节,因为python代码不使用它,而只是记录它。我还有一个问题。为什么服务器写图像这么慢。我如何修改它?谢谢。我看不出一切进展有多快。如果你不告诉我,我们永远不会知道。
 int size = bytes.length;