2 Stimmen

Erhöhung der Datenmenge, die mit einem einzigen socket.send()-Aufruf gesendet wird

Wir haben einen Code ähnlich dem untenstehenden, um einen SSL-fähigen Socket zwischen einem Rechner und einem entfernten Host zu erstellen, um Daten zu übertragen. Wir stellen fest, dass die Datenmenge, die bei jedem Aufruf von sock.send gesendet wird, etwa 16K beträgt. Gibt es eine Möglichkeit, dies zu konfigurieren? Das Senden von 10 MB Daten in 16K-Chunks ist sehr langsam. Können wir die Chunk-Größe auf etwa 1-2 MB konfigurieren?

from OpenSSL import SSL
import socket

''' Create SSL context.
ctx = ...

''' Create SSL enabled socket.
sock = SSL.Connection(ctx, socket.socket(socket.AF_INET, socket.SOCK_STREAM))

''' Connect to the remote host.
sock.connect((host_address, port))

''' msg is a large string about 10 MB.
msg = ... 

''' Send data over the socket.
total_sent = 0
while (total_sent < len(msg)):
  sent = sock.send(msg[total_sent:])
  total_sent += sent

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X