Скорость передачи Python Socket слишком низкая - PullRequest
1 голос
/ 17 февраля 2012

Я использую Python на своем телефоне HTC 2.3 с Android 2.3, используя SL4A ... поэтому я написал код для получения значений акселерометра и отправки их на мой компьютер через сокеты!Проблема в том, что на телефоне код получает значения каждые 100 мс, и я использую цикл while, чтобы продолжать отправлять их на ПК.Но компьютер не получает значения с той же скоростью, я имею в виду, что он медленнее, и просто имейте в виду, что я изменил значения так:

> [0.0,1.0,-5.0]
> [0.0,2.0,-2.0] a list of Rounded floats
> ...

и вот мой код сервера(работает на ПК):

import socket

HOST = ""            
PORT = 55600             
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    print data
    if not data: break
conn.close()

Любая помощь, чтобы сделать это быстрее?

1 Ответ

0 голосов
/ 17 февраля 2012

Первое, что я хотел бы изменить, это избавиться от оператора print в вашем цикле.IO очень медленный.Это, конечно, предполагается, что вы планируете что-то делать с этими значениями, помимо отображения их на экране;)

...